gpt4 book ai didi

android - 如何使用 scrypt 生成 256 位 key ?

转载 作者:行者123 更新时间:2023-11-29 20:52:32 24 4
gpt4 key购买 nike

我正在使用 scrypt 生成 key 派生,但问题是输出大于 256 位,我想在 AES-GCM 中使用它和 256 位 key 。那我该怎么做呢?我想在 Android 上制作一个应用程序。

编辑:我很抱歉没有给你更多的信息好的..我正在使用的图书馆是这个 https://github.com/wg/scrypt

这是我得到的结果

"$s0$e0801$eX8cPtmLjKSrZBJszHIuZA==$vapd0u4tYVdOXOlcIkFmrOEIr1Ml2Ue1l2+FVOJgbcI="

这已经超出了 AES engin 可以处理的范围,所以我该如何使用它

最佳答案

Scrypt 是一种 key 派生 算法。这意味着您可以使用它来生成任意数量的伪随机字节。

在 wg 库中,方法是调用 Scrypt.scrypt function :

byte[] key = Scrypt.scrypt(password, salt, N, r, p, 32);

这将为您提供所需的 32 字节的 key Material 。

key 派生与密码存储

你的困惑是可以理解的。 wg/scrypt 的文档没有提到 scrypt 的真实用法。他们仅记录其使用密码存储算法。

这就是为什么您错误地调用了 ScryptUtil.scrypt(而不是 Scrypt.scrypt):

string hash = ScryptUtil.scrypt(password, N, r, p);

该方法返回一个字符串,该字符串适合 AES(或任何其他类型)加密的 key 。

关于android - 如何使用 scrypt 生成 256 位 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28734991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com