如何从生成的 PBKDF2 密码的字节数组中获取字符串

帕维尔_K

我使用这里的解决方案

public static byte[] getEncryptedPassword(String password, byte[] salt,  int iterations,  int derivedKeyLength) throws NoSuchAlgorithmException, InvalidKeySpecException {
    KeySpec spec = new PBEKeySpec(password.toCharArray(), salt, iterations, derivedKeyLength * 8);
    SecretKeyFactory f = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256");
    return f.generateSecret(spec).getEncoded();
}

问题是,当我这样做时:

System.out.println(new String(getEncryptedPassword(p,s,i,l)));

我得到一个非常奇怪的字符串,例如���:,但我想要一个可以保存在数据库中的普通字符串。我的错误是什么?

罗伯特

如果要将二进制数据(如 a )byte[]转换为字符串,通常将其编码为十六进制或 Base64 格式。Base64 比十六进制小,因此我建议您使用这个。

对于 Base64,您可以java.util.Base64从 Java 8 开始使用

String base64encoded = Base64.getEncoder().encodeToString(getEncryptedPassword(p,s,i,l)));

对于HexAFAIR Java 不包含必要的代码。您可以使用例如来自Apache 通用编解码器十六进制编码

String hexEncoded = Hex.encodeHexString(getEncryptedPassword(p,s,i,l)));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PBKDF2密码存储-如何验证?

来自分类Dev

openssl如何使用PBKDF2构造从密码派生的密钥?

来自分类Dev

如何在mongoDB中存储加密pbkdf2?

来自分类Dev

pbkdf2如何工作?

来自分类Dev

如何从密码和 PBKDF2 迭代中获取原始密钥数据

来自分类Dev

HKDF或PBKDF2用于生成对称加密密钥?(Python密码学)

来自分类Dev

这个用于密码生成的pbkdf2散列的PHP实现被认为安全吗?

来自分类Dev

验证.NET中Python Passlib生成的PBKDF2 SHA512哈希

来自分类Dev

javascript和iOS中的PBKDF2哈希生成不同的密钥

来自分类Dev

验证.NET中Python Passlib生成的PBKDF2 SHA512哈希

来自分类Dev

如何获取字符串在内存中实际占用的字节数?

来自分类Dev

我如何正则表达式验证用户提交的以 PBKDF2 编码的密码

来自分类Dev

PBKDF2和Java中的HMAC

来自分类Dev

字符串AES PBKDF2的加密

来自分类Dev

如何在python2中将utf-8字节数组解码为字符串?

来自分类Dev

在C#和NodeJS中生成PBKDF2密钥

来自分类Dev

PBKDF2是否生成唯一的哈希?

来自分类Dev

如何在python中以字符串类型提取字节数据?

来自分类Dev

如何从由字节数组组成的字符串访问字节数组?

来自分类Dev

与密码一起存储PBKDF2设置

来自分类Dev

是否可以恢复PBKDF2哈希密码?

来自分类Dev

在Java中具有HMAC的PBKDF2

来自分类Dev

我将如何获取字节数组的前“ n”个元素并将其直接转换为字符串?

来自分类Dev

如何在Java中将二进制字符串转换为2个字节的字节数组

来自分类Dev

如何使用PBKDF2在Java和Ruby中生成相同的安全哈希

来自分类Dev

在Perl中,如何将字节数组转换为Unicode字符串?

来自分类Dev

我如何从D中的字节数组构造字符串

来自分类Dev

如何检查字节数组中是否存在特定字符串?

来自分类Dev

如何在Ruby中将UCS-2字节数组转换为UTF-8字符串?

Related 相关文章

  1. 1

    PBKDF2密码存储-如何验证?

  2. 2

    openssl如何使用PBKDF2构造从密码派生的密钥?

  3. 3

    如何在mongoDB中存储加密pbkdf2?

  4. 4

    pbkdf2如何工作?

  5. 5

    如何从密码和 PBKDF2 迭代中获取原始密钥数据

  6. 6

    HKDF或PBKDF2用于生成对称加密密钥?(Python密码学)

  7. 7

    这个用于密码生成的pbkdf2散列的PHP实现被认为安全吗?

  8. 8

    验证.NET中Python Passlib生成的PBKDF2 SHA512哈希

  9. 9

    javascript和iOS中的PBKDF2哈希生成不同的密钥

  10. 10

    验证.NET中Python Passlib生成的PBKDF2 SHA512哈希

  11. 11

    如何获取字符串在内存中实际占用的字节数?

  12. 12

    我如何正则表达式验证用户提交的以 PBKDF2 编码的密码

  13. 13

    PBKDF2和Java中的HMAC

  14. 14

    字符串AES PBKDF2的加密

  15. 15

    如何在python2中将utf-8字节数组解码为字符串?

  16. 16

    在C#和NodeJS中生成PBKDF2密钥

  17. 17

    PBKDF2是否生成唯一的哈希?

  18. 18

    如何在python中以字符串类型提取字节数据?

  19. 19

    如何从由字节数组组成的字符串访问字节数组?

  20. 20

    与密码一起存储PBKDF2设置

  21. 21

    是否可以恢复PBKDF2哈希密码?

  22. 22

    在Java中具有HMAC的PBKDF2

  23. 23

    我将如何获取字节数组的前“ n”个元素并将其直接转换为字符串?

  24. 24

    如何在Java中将二进制字符串转换为2个字节的字节数组

  25. 25

    如何使用PBKDF2在Java和Ruby中生成相同的安全哈希

  26. 26

    在Perl中,如何将字节数组转换为Unicode字符串?

  27. 27

    我如何从D中的字节数组构造字符串

  28. 28

    如何检查字节数组中是否存在特定字符串?

  29. 29

    如何在Ruby中将UCS-2字节数组转换为UTF-8字符串?

热门标签

归档