如何为 url 安全编码和缩短散列?
How to encode and shorten hash for url safety?
我使用 SHA-512 对令牌进行哈希处理,得到 128 个字符的字符串。我如何对其进行编码以使其更短但仍然 URL 安全(无需像 '+' 或 '&' 那样转义)?
Hex 和 Base32 都不理想,Base64 不安全。我不想破解自定义 Base62 编解码器,因为那只会成为维护负担。
Google你了解了吗:
com.google.common.io.BaseEncoding#base64Url
这是一种高效的 Base64 编解码器,仅使用 url 安全字符。它将为 SHA512 哈希生成一个长度为 88 个字符的字符串。
Java添加了8种Base64编码器,风格各异。参见 java.util.Base64
例如:
Base64.getUrlEncoder().encode(...);
我使用 SHA-512 对令牌进行哈希处理,得到 128 个字符的字符串。我如何对其进行编码以使其更短但仍然 URL 安全(无需像 '+' 或 '&' 那样转义)?
Hex 和 Base32 都不理想,Base64 不安全。我不想破解自定义 Base62 编解码器,因为那只会成为维护负担。
Google你了解了吗:
com.google.common.io.BaseEncoding#base64Url
这是一种高效的 Base64 编解码器,仅使用 url 安全字符。它将为 SHA512 哈希生成一个长度为 88 个字符的字符串。
Java添加了8种Base64编码器,风格各异。参见 java.util.Base64
例如:
Base64.getUrlEncoder().encode(...);