Why this MD5 result with Salt has “==” in the end of result string?
本问题已经有最佳答案,请猛点这里访问。
我有使用JavyPT(Java简化加密)库的Java代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 | StandardStringDigester digester = new StandardStringDigester(); digester.setAlgorithm("MD5"); digester.setIterations(1); FixedStringSaltGenerator saltGenerator = new FixedStringSaltGenerator(); saltGenerator.setSalt("justAnotherSalt"); digester.setSaltGenerator(saltGenerator); digester.setSaltSizeBytes(5); String digest = digester.digest("my_password"); System.out.println(digest); |
您可以看到我在salt中使用了MD5算法。
控制台中的结果是:
1 | I9uMOxDiImtxMXKXkt2EUw== |
我想知道为什么在结果字符串的末尾有"=="字符?只有我用盐才有。
说的结果是standardstringdigester.digest API在Base64编码和(默认)或是十六进制形式为ASCII字符串返回。在你的案例这是base64