我正在尝试在Linux CentOS上生成一些随机密码,并将其作为base64存储在数据库中。密码是“ KQ3h3dEN”,当我用“ echo KQ3h3dEN”转换时| base64”,因此我将获得“ S1EzaDNkRU4 K ”。我在Java中有功能:
public static String encode64Base(String stringToEncode)
{
byte[] encodedBytes = Base64.getEncoder().encode(stringToEncode.getBytes());
String encodedString = new String(encodedBytes, "UTF-8");
return encodedString;
}
Run Code Online (Sandbox Code Playgroud)
并且encode64Base(“ KQ3h3dEN”)的结果为'S1EzaDNkRU4 ='。
因此,在此示例中,它将添加“ K”而不是“ =“。当在Linux上使用base64和在Java中使用base64编码时,如何确保我将始终获得相同的结果?
更新:更新了问题,因为我在Linux编码字符串的末尾没有注意到“ K”。此外,这里还有一些其他示例:
经过几个小时的实验,找到了解决方案。似乎将新行添加到了我要编码的字符串中。解决方案是:echo -n KQ3h3dEN | base64
结果将与java base64编码相同。
| 归档时间: |
|
| 查看次数: |
1398 次 |
| 最近记录: |