gpt4 book ai didi

java - 用Java加密字符串

转载 作者:行者123 更新时间:2023-12-01 20:00:19 25 4
gpt4 key购买 nike

我正在尝试使用 Java 和 AES Cipher.getInstance("AES/CBC/PKCS5PADDING") 加密和解密字符串。

当我加密数据并尝试将其打印到控制台时,我收到如下字符:

�0� �J�9U\�6N� ��.������͋«D�<(���H(�G�jַ��%���u��^� � �' �bT/�05���0+u )b�ς�{G�d��/�:��~��ٵ�J%���~_ ����_��� �~�W�s�+ ]9�{Y�N ����J {����钇���

这是正确的吗?可以说“它是加密的”吗?我的期望是得到像“WERWEWERWER”这样的文字字符串

最佳答案

那是因为加密的消息以字节为单位(0-255)。要获得您想要的字符串,您需要使用 Base 64 对输出进行编码。

基于此answer您可以在 Java 8 中做到这一点,而无需使用任何库。

import java.util.Base64;

//base64 encoding
byte[] encodedBytes = Base64.getEncoder().encode("Test".getBytes("UTF-8"));
System.out.println("encodedBytes " + new String(encodedBytes));
//base64 decoding
byte[] decodedBytes = Base64.getDecoder().decode(encodedBytes);
System.out.println("decodedBytes " + new String(decodedBytes));

"Test".getBytes("UTF-8") 替换为 AES 的输出

关于java - 用Java加密字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48118208/

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