gpt4 book ai didi

java - 如何在 Java 中生成 AES 128 位 key 。我想要这样的东西。 Es8NxqG/f3VMzcd9mrPSQQ==

转载 作者:行者123 更新时间:2023-12-02 01:42:57 25 4
gpt4 key购买 nike

我在下面尝试过。

KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128);
SecretKey skey = kgen.generateKey();
String s = new String(skey.getEncoded());

但没有达到所需的格式。非常感谢任何帮助。提前致谢。

最佳答案

skey.getEncoded()

getEncoded 方法返回一个字节数组。您不能仅从字节数组创建字符串,大多数字节将表示不可打印的字符。

您要求的是 Base64 编码 - 它是一种将二进制数据表示为可打印字符的方法。

您可以使用默认的Java Base64编码器 https://docs.oracle.com/javase/8/docs/api/java/util/Base64.html对二进制数据进行编码和解码。

String encodedKey = Base64.getEncoder().encodeToString(skey.getEncoded());

还使用其他编码器实现,例如 commons-codec

请注意 - 在加密中,所有原语和操作( key 、加密、摘要、签名等)都在字节数组之上工作,编码仅用于将数据表示为可打印字符串

关于java - 如何在 Java 中生成 AES 128 位 key 。我想要这样的东西。 Es8NxqG/f3VMzcd9mrPSQQ==,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54193712/

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