我有使用jasypt(Java简化加密)库的java代码:
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);
你可以看到我使用MD5算法和盐。
控制台中的结果是:
I9uMOxDiImtxMXKXkt2EUw==
我想知道为什么结果字符串末尾有“==”字符?只有我使用盐才会存在。
答案 0 :(得分:2)
StandardStringDigester.digest API说结果以BASE64(默认)或HEXADECIMAL编码,并作为ASCII字符串返回。在你的情况下,这是BASE64