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

Java md5,PHP方式

巴宏恺
2023-03-14
问题内容

我已经为此工作了几个小时,但我无法使其正常工作。

基本上,我正在为Java中的REST服务器开发Java REST客户端。客户端和服务器都必须计算字符串的md5,服务器将比较它们的身份验证(kinda)。

在服务器上,PHP代码为:

md5("getTokenapi_keybf8ddfs845jhre980543jhsjfro93fd8capi_ver1tokeniud9ER£jdfff");

会产生:

4d7b2e42c3dfd11de3e77b9fe2211b87

真好!

这是客户端的代码:

import java.security.*;
....
String s = "getTokenapi_keybf8ddfs845jhre980543jhsjfro93fd8capi_ver1tokeniud9ER£jdfff";
byte[] bytesOfMessage = s.getBytes("UTF-8");
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] thedigest = md.digest(bytesOfMessage);

System.out.println("String2: " + thedigest);        
System.out.println("String3: " + new String(thedigest));

产生:

String2: [B@42e816
String3: M{.B�����{��!�

请问我怎样才能像Java一样用Java来计算md5和?

谢谢,丹


问题答案:

试试看:

public static String md5(String input) throws NoSuchAlgorithmException {
    String result = input;
    if(input != null) {
        MessageDigest md = MessageDigest.getInstance("MD5"); //or "SHA-1"
        md.update(input.getBytes());
        BigInteger hash = new BigInteger(1, md.digest());
        result = hash.toString(16);
        while(result.length() < 32) { //40 for SHA-1
            result = "0" + result;
        }
    }
    return result;
}

来自http://web.archive.org/web/20140209230440/http://www.sergiy.ca/how-to-make-
java-md5-and-sha-1-hashes-compatible-with-
php-的

代码or-mysql
/



 类似资料:
  • PHP 官方网站 PHP 官方文档

  • 问题内容: 我正在使用PHP 5,并且听说过面向对象方法中的一项新功能,即“方法链接”。究竟是什么?如何实施? 问题答案: 实际上,它相当简单,您有一系列的mutator方法,它们都返回原始(或其他)对象,这样您就可以继续在返回的对象上调用方法。 输出“ ab” 在线尝试!

  • 本文向大家介绍PHP 完善官方文件,包括了PHP 完善官方文件的使用技巧和注意事项,需要的朋友参考一下 示例 PHP已经在http://php.net/manual/上提供了很好的官方文档。PHP手册几乎记录了所有语言功能,核心库和大多数可用的扩展。有很多例子可以学习。PHP手册有多种语言和格式。 最棒的是,该文档对任何人都是免费的。 PHP文档团队在https://edit.php.net上提供

  • 本文向大家介绍PHP连接SQLServer2005的方法,包括了PHP连接SQLServer2005的方法的使用技巧和注意事项,需要的朋友参考一下 1.修改php.ini将extension=php_mssql.dll的注释删除保存。 修改php.in将mssql.secure_connection = Off改为mssql.secure_connection = On。 2.下载连接2005的n

  • 本文向大家介绍php调用shell的方法,包括了php调用shell的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php调用shell的方法,分享给大家供大家参考。具体方法如下: 一、配置 查看php.ini中配置是否打开安全模式,主要是以下三个地方 safe_mode =  (这个如果为off下面两个就不用管了) disable_functions = safe_mode_exe

  • 本文向大家介绍Redis保存PHP Session方法,包括了Redis保存PHP Session方法的使用技巧和注意事项,需要的朋友参考一下 PHP默认就支持保存session到redis,不需任何额外代码。 Redis保存session用的命令是setex,用redis-cli monitor实时监测可以检测到。 setex命令的语法: 其中,key是键值,time是过期时间,value是字符