![]() |
1
cooioobb 326 天前 via Android
确实稳妥简单。也够用
|
2
shinession 326 天前
涨姿势了 :)
|
![]() |
3
leavic 326 天前 ![]() 密码学应用基本原则不就是不要自己发明轮子吗
|
![]() |
4
eason1874 326 天前
这是防爆破最佳实践吧,挺多软件都是这样做
|
![]() |
5
litmxs 326 天前 via Android
慢哈希
|
![]() |
6
codehz 326 天前 ![]() 你这是哪来的 bit locker ,怎么还有 gbk_to_unicode 的
|
7
CatCode 326 天前
应该是逆向来的代码吧
|
![]() |
8
shuxhan 326 天前
最简单的方式 也是最有效的
|
![]() |
10
ipwx 326 天前 ![]() 这点时间就可以防止黑客用字典的方式暴力破解本地密码。
参数里面的 r_salt:请,认真地看着我。 ---- 哈希类验证防止彩虹表的方法有两布: 1. 加盐。 2. 更多的哈希循环。 缺一不可。 |
12
majula 326 天前
哈哈,微软真的是思路清奇
记得以前有个 Password Hashing Competition ,参赛者选择的 hash function 基本上都是 blake2/sha512 ,没有用 sha256 的(大概是因为 sha256 用硬件加速成本太低了),最后胜出的是 argon2 (也是基于 blake2 ) 不知道微软当年有没有考虑参赛(狗头 |
![]() |
13
matrix67 326 天前
我记得 keepass 还是 truecrypt 的 hash 迭代次数,就是 ( 1s /你本机算一次 hash 的时间)。这样你每次解开主密码需要 1s ,但是黑客受不了。
|
![]() |
14
matrix67 326 天前
@matrix67 #13 是 keepass https://keepass.info/help/base/security.html
By clicking the '1 Second Delay' button in the database settings dialog, KeePass computes the number of iterations that results in a 1 second delay when loading/saving a database. |
17
billlee 326 天前 via Android
这是 KDF 的标准做法
|
![]() |
18
jim9606 326 天前 via Android
@majula bitlocker 是跟随 vista 一起推出的功能,那时候 blake 都还没诞生,很多现在使用的密码原语都还没标准化。
Bitlocker 主要优势还是操作系统集成,例如基于 TPM 的自动解锁。想在 linux 用开源组件复刻这套功能还蛮麻烦的。 |
![]() |
21
44670 326 天前
比较通用的实践是 pbkdf2 ,除了不断对自身 hmac 以外,还会和上一轮的结果异或一下
|
![]() |
23
LittleDust 326 天前 via iPhone
这个循环里面 1024 * 1024 可以提出去吧…每次循环都要计算一下,这是微软源码?
|
24
kice 325 天前 via Android ![]() @LittleDust 编译器优化里面有一个叫做常量折叠的操作,可以去了解看看。
|
25
julyclyde 323 天前
多次 hash 会导致冲突增加吧
|