Kin*_*ngs 7 sql encryption sql-server-2000
我正在使用SQL 2000.表''用户'中有一个字符串列'Password'.它有大约3k行.我的要求是加密"密码"列的所有值.此外,我应该能够在需要时解密这些加密的密码字段.
我知道,从SQL 2005开始,有内置的功能主义者可以满足这些要求.但我担心SQL 2000.
请通过VB代码或SQL脚本建议是否有任何方法可以达到我的要求.不使用任何第三方工具.我搜索了很多地方但没有成功.
谢谢.
您可以使用SQL Server 2000中可用的未记录PWDENCRYPT和PWDCOMPARE函数 -
CREATE TABLE #USER
(
LOGIN_ID varchar(20),
UserPassword nvarchar(256)
)
-- Encrypt & Insert Password
-- Note: You will have to write UPDATE on existing records
INSERT #USER VALUES ( 'my_loginid', PWDENCRYPT('MyPassword1'))
DECLARE @InputPassword VARCHAR(100)
DECLARE @IsValid INT = 0
-- Test for Correct Password
SET @InputPassword = 'MyPassword1'
SET @IsValid = (SELECT PWDCOMPARE(@InputPassword, UserPassword, 0)
FROM #USER
WHERE LOGIN_ID = 'my_loginid')
SELECT @IsValid AS 'Test1';
-- Test for Wrong Password
SET @InputPassword = 'WrongPassword'
SET @IsValid = (SELECT PWDCOMPARE(@InputPassword, UserPassword, 0)
FROM #USER
WHERE LOGIN_ID = 'my_loginid')
SELECT @IsValid AS 'Test2'
DROP TABLE #USER
Run Code Online (Sandbox Code Playgroud)
参考链接 -