如何对url安全进行编码和缩短哈希?

时间:2017-01-10 14:34:12

标签: java url hash base64 codec

我使用SHA-512来散列令牌,这会产生128个字符的字符串。如何对其进行编码以使其更短但仍然保证网址安全(不需要像' +'或''')?

Hex和Base32都不是最理想的,而Base64是不安全的。我不想破解自定义Base62编解码器,因为这只会成为维护负担。

2 个答案:

答案 0 :(得分:1)

谷歌让你满意:

com.google.common.io.BaseEncoding#base64Url

这是一个高效的Base64编解码器,只使用url-safe字符。它将生成一个长度为88个字符的String,用于SHA512哈希。

答案 1 :(得分:1)

Java 8添加了不同风格的Base64编码器。请参阅java.util.Base64

例如:

Base64.getUrlEncoder().encode(...);