gpt4 book ai didi

sql - 通过代码或 SQL 脚本加密 SQL 2000 中的列

转载 作者:行者123 更新时间:2023-12-04 11:39:47 26 4
gpt4 key购买 nike

我正在使用 SQL 2000。一个字符串列“密码”在表“用户”中。它有大约 3k 行。我的要求是加密“密码”列的所有值。
此外,我应该能够在需要时解密那些加密的密码字段。


我知道,从 SQL 2005 开始,有针对这些需求的内置功能主义者。但我担心 SQL 2000。

请建议如果有任何方法可以通过 VB 代码或 SQL 脚本实现我的要求 .不使用任何第三方工具。我搜索了很多地方,但没有成功。

谢谢。

最佳答案

您可以使用未记录的 PWDENCRYPTPWDCOMPARE SQL Server 2000 中可用的函数 -

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

引用链接——
  • PWDENCRYPT
  • PWDCOMPARE
  • SQL Server's Undocumented Password Encryption Functions
  • 关于sql - 通过代码或 SQL 脚本加密 SQL 2000 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16830310/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com