出于安全目的,我将加密一些数据,包括我的应用程序中的用户密码。
我的同事选择了 scrypt 散列算法,长度为 64 字节,种子固定,然后转换为十六进制。
散列“ A12345678Z ”导致:25fac84a1cc3a8f6706848d1016cfe7e9d3631691306dcacae68c11c7b54f0bf89e7a7fc51f7fcc19671775acb21c8d928c4c96bb66d915925de58b8b36ab251
种子是“<strong>HeanpyftAkWilfUd”。
在服务器上,他们正在使用这个实现:https ://github.com/ricmoo/pyscrypt
例子:
scrypt.hash(“A12345678Z", “HeanpyftAkWilfUd").encode('hex’)
->
25fac84a1cc3a8f6706848d1016cfe7e9d3631691306dcacae68c11c7b54f0bf89e7a7fc51f7fcc19671775acb21c8d928c4c96bb66d915925de58b8b36ab251
我的问题是如何在 Swift 中做到这一点?使用什么库以及如果可能的话 - 给我看示例代码,这将导致散列“ A12345678Z ”完全如此:
25fac84a1cc3a8f6706848d1016cfe7e9d3631691306dcacae68c11c7b54f0bf89e7a7fc51f7fcc19671775acb21c8d928c4c96bb66d915925de58b8b36ab251