【发布时间】:2011-03-11 21:03:35
【问题描述】:
并行处理多个数据库,需要使用散列密码初始化一些记录。在MS SQL server 中,有一些方便的函数允许动态散列:
HashBytes('SHA1', CONVERT(nvarchar(32), N'admin'))
有没有和SQLite类似的功能?
如果不是,这是最简单的解决方法(例如从SQL server 中选择并以某种方式将其插入SQLite 表中)?
首选的哈希算法是SHA1,密码存储在BLOB 列中。
更新:我在当前项目中使用 C# 语言。
【问题讨论】:
-
SHA-1 不是加密,而是加密哈希函数。
-
SHA1 不是散列密码的好选择,因为它是快速的方法,因此很容易进行暴力破解。看看 BCrypt 或 PBKDF2 等密钥派生函数,后者内置在 C# 中,因为 BCrypt 库可用。
标签: c# sqlite cryptography hash sha1