加密结果仅为字母数字



我想将字符串加密为仅由字母(a-z/A-Z(和数字(0-9(组成的密码。我不希望它有任何其他字符(=、&、.. 等(。

有什么办法可以实现吗?如果是这样,可以请有人帮我。没有任何外部库的 Java 代码将是首选。

注意:

  • 我已经尝试过 base64 编码,但它不起作用,因为它使用"="作为填充字符。

  • 此生成的密码将在 Web URL 中用于传递值。

  • 密码也应解码回原始字符串。

假设单向哈希对你来说就足够了,你可以实现这样的东西

public String hashToHexString(String whatever) throws NoSuchAlgorithmException{
byte[] digest = MessageDigest.getInstance("your one way hash alghoritm")
.digest(whatever.getBytes());
return DatatypeConverter.printHexBinary(digest);
}

最新更新