当前位置: 首页 > 面试题库 >

PHP中的MD5功能相当于Android / Java?

弘柏
2023-03-14
问题内容

我正在如下计算Android / Java中的MD5:

byte raw[] = md.digest();   
StringBuffer hexString = new StringBuffer();
for (int i=0; i<raw.length; i++)
    hexString.append(Integer.toHexString(0xFF & raw[i]));
v_password = hexString.toString();

但是,PHP的md5()功能不匹配。

MD5-PHP-原始值-catch12-214423105677f2375487b4c6880c12ae
MD5-JAVA-原始值-catch12-214423105677f2375487b4c688c12ae

这是怎么引起的,我该如何解决,以便Android / Java和PHP都生成完全相同的MD5哈希?


问题答案:

0当字节小于时,您需要在十六进制值前添加前缀0x10。这是一个完整的示例:

public static String md5(String string) {
    byte[] hash;

    try {
        hash = MessageDigest.getInstance("MD5").digest(string.getBytes("UTF-8"));
    } catch (NoSuchAlgorithmException e) {
        throw new RuntimeException("Huh, MD5 should be supported?", e);
    } catch (UnsupportedEncodingException e) {
        throw new RuntimeException("Huh, UTF-8 should be supported?", e);
    }

    StringBuilder hex = new StringBuilder(hash.length * 2);

    for (byte b : hash) {
        int i = (b & 0xFF);
        if (i < 0x10) hex.append('0');
        hex.append(Integer.toHexString(i));
    }

    return hex.toString();
}


 类似资料:
  • 问题内容: 我有这个字符串: 0000000020C90037:TEMP:数据 我需要这个字符串: TEMP:数据。 使用PHP,我可以这样做: 如何像在PHP中一样有效地在JavaScript中使用字符串? 问题答案: 这是您的PHP代码的直接转换:

  • 问题内容: 我正在将应用程序从PHP迁移到Java,并且在代码中大量使用了正则表达式。我遇到了PHP中似乎没有Java等效项的某些问题: 对于正则表达式中的每个匹配项,它都会调用一个函数,该函数将匹配文本作为参数传递给该函数。作为示例用法: 用Java做到这一点的理想方法是什么? 问题答案: 我不知道Java内置有什么类似的东西。您可以使用Matcher类轻松滚动自己的游戏: 然后致电: 请注意,

  • 问题内容: 真的很喜欢那个功能。 是否有与之等效的Javascript? 问题答案: 在Javascript的“较新”版本中有:解构分配-Javascript 1.7 。它可能仅在基于Mozilla的浏览器中支持,也许在Rhino中也受支持。 编辑: 实际上,如果V8 Javascript库(以及由此而来的Chrome)支持此功能,这也不会令我感到惊讶。 但也不要指望它 现在所有现代浏览器都支持(

  • 问题内容: 我正在将PHP代码迁移到Google App Engine-Java。 因此,我需要使用Java中的PHP的crypt函数, 因为我已经 使用crypt 将注册用户的所有密码存储在数据库中。 编辑1 :这是我的php密码加密代码: $ password =“ test123”; $ pwd = crypt($ password,$ password); 回声$ pwd; 输出为(在 W

  • 问题内容: PHP中的这一行代码评估为true 我需要的是Golang中的一个crypt函数,该函数也将评估为true。 尝试1 我试过了,但评估为假: 尝试2 我还尝试定义和使用在其他地方找到的这个crypt函数,但它也返回false: 所以我的问题是: 我如何获得一个golang地穴功能完全一样的琴弦的PHP crypt函数和? 问题答案: 尽管我还没有找到与PHP的crypt函数完全相同的“

  • 问题内容: 我在php中将以下语句转换为。 我需要在另一个程序中做同样的事情吗? 有任何想法吗 ? 干杯, 问题答案: 该模块具有,它可以满足您的需求。