sql server表字段加密问题 通过CISCO ACS外部数据库(ODBC)的连接,已将ACS的内部数据库指向到SQL SERVER 2000。在SQL SERVER2000 建表(USERS),通过存储过程 (CSNTAuthUserPap),实现用户的验证。 表(USERS)如下:
Field Type
CSNTusername String
CSNTpassword String
CSNTresult Integer
CSNTgroup Integer
CSNTacctInfo String
CSNTerrorString String 存储过程 (CSNTAuthUserPap)如下:
if exists
(select * from sysobjects
where id = object_id ('dbo.CSNTAuthUserPap') and sysstat & 0xf = 4)
drop procedure dbo.CSNTAuthUserPap
GO
CREATE PROCEDURE CSNTAuthUserPap @username varchar(64), @pass varchar(255)
AS
SET NOCOUNT ON
IF EXISTS( SELECT CSNTusername FROM users
WHERE CSNTusername = @username AND csntpassword = @pass )
SELECT 0,csntgroup,csntacctinfo, 'No Error'
FROM users
WHERE CSNTusername = @username
ELSE
SELECT 3,0,'odbc','ODBC Authen Error'
GO
GRANT EXECUTE ON dbo.CSNTAuthUserPap TO ciscosecure
GO
问题:目前users表中的字段(CSNTpassword)是明文显示的,如何将这个字段改为加密显示,请提供方法,万分感谢!!!
分享到:更多
------解决方案-------------------- 这个建议你在应用程序中,对这个密码进行加密,然后再传给sql server 后insert,因为用sql server来做加密,性能肯定不如应用程序。