【发布时间】:2018-08-10 14:12:11
【问题描述】:
我想用 sql server 用相同长度的字符串加密字符串并用相同长度的字符串解密。例如:
Encryption
Input: Encrypt("002581") -- with 6 characters
Result: a&pE12 -- output with same 6 characters in encrypted form
Decryption
Input: Decrypt("a&pE12") -- with 6 characters
Result: 002581 -- output with same 6 characters in decrypted form
【问题讨论】:
-
即使有办法做到这一点,您的要求也可能会限制可用的加密算法。此外,如果有恶意的人发现了这一点,他就会知道实际未加密密码的长度。也许你可以告诉我们你为什么认为你需要这个。
-
基本上我想用相同长度的字符的输入代码来验证记录。这就是为什么我需要使用 sql server 技术进行这种加密和解密。
-
当保存密码验证器时,仅使用哈希函数是不够的,并且仅添加盐对提高安全性无济于事。而是使用诸如
PBKDF2、Rfc2898DeriveBytes、Argon2、password_hash、Bcrypt之类的函数或持续时间约为 100 毫秒的类似函数。关键是让攻击者花费大量时间通过蛮力查找密码。
标签: sql sql-server database encryption sql-server-2014