Java 和 PHP 中 MD5 加密 \”\\xa3\” 字符串的不同处理方式:如何实现一致的加密结果?
小伙伴们有没有觉得学习文章很有意思?有意思就对了!今天就给大家带来《Java 和 PHP 中 MD5 加密 \”\\xa3\” 字符串的不同处理方式:如何实现一致的加密结果?》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!
java中md5加密字符串”xa3″的处理方式
在php中,对字符串”xa3″进行md5加密时,会将”xa3″视为unicode码,并将其转义为”£”符号。因此,加密结果与java中的不同。
在java中,将”xa3″附加到字符串后,它将被视为一个直接的转义字符,而不是unicode码。为了在java中实现与php相同的结果,需要将”xa3″转换为unicode码”u00a3″。
解决方法:
- 使用unicode码:
string pwd = "123456"; string salt = "\u00a3"; // utf-8 encoding of \xa3 string str = pwd + salt; byte[] bytes = str.getbytes("iso-8859-1"); // 假设php使用iso-8859-1字符编码
- 使用utf-8编码:
string pwd = "123456"; string salt = "£"; // 原始的unicode字符 string str = pwd + salt; byte[] bytes = str.getbytes("utf-8");
- php中使用utf-8编码:
$pwd = "123456"; $salt = "\xa3"; // 直接转义字符 $str = utf8_encode($pwd . $salt); echo MD5($str);
本篇关于《Java 和 PHP 中 MD5 加密 \”\\xa3\” 字符串的不同处理方式:如何实现一致的加密结果?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注公众号!