c# - SQLite : how? 中的 SHA1 哈希

标签 c# sqlite cryptography hash sha1

并行处理多个数据库,需要用散列密码初始化一些记录。在 MS SQL server 中,有一些方便的函数可以动态散列:


HashBytes('SHA1', CONVERT(nvarchar(32), N'admin'))

SQLite有没有类似的功能?

如果不是,哪个是最简单的解决方法(例如从 SQL server 中选择并以某种方式将其插入到 SQLite 表中)?

首选的散列算法是 SHA1,密码存储在 BLOB 列中。

更新:我在当前项目中使用C#语言。

最佳答案

SQLite3 中没有内置这样的函数。

但是你可以定义一个用户函数,例如与 sqlite3_create_function如果您使用的是 C 接口(interface),并用它实现 SHA-1。 (但如果您有一个可编程接口(interface),也许您可​​以在 SQL 引擎之外对密码进行 SHA-1。)

您也可以尝试查找/创建扩展并加载 the load_extension function ,但我没有这方面的经验。

编辑:

关于c# - SQLite : how? 中的 SHA1 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3179021/

相关文章:

c# - RNGCryptoServiceProvider 不会为相同的 PWD、Salt、Iteration 组合生成相同的哈希值

c++ - 位于字符串加密密码中的断点

c# 如何处理网络中断

c# - UUID 与 c# 代码互操作

c# - ReactiveUI TwoWay 绑定(bind)一个复选框

Android sqlite3 说 "no _id"但表肯定有

c# - WPF RichTextBox 插入图片和撤消操作

python - 将用户导入到 USER 模型时 Django 中的密码加密

sqlite - @commit_on_success 和 save()

java - 衬垫 RIPEMD 160