PHP中的md5与Java中的md5加密结果不一致问题

/**
     * 获取MD5加密后的字符串
     * @param str 明文
     * @return 加密后的字符串
     * @throws Exception
     */
    public static String getMD5(String str) throws Exception {
        /** 创建MD5加密对象 */
        MessageDigest md5 = MessageDigest.getInstance("MD5");
        /** 进行加密 */
        md5.update(str.getBytes());
        /** 获取加密后的字节数组 */
        byte[] md5Bytes = md5.digest();
        String res = "";
        for (int i = 0; i < md5Bytes.length; i++){
            int temp = md5Bytes[i] & 0xFF;
            if (temp <= 0XF){ // 转化成十六进制不够两位,前面加零
                res += "0";
            }
            res += Integer.toHexString(temp);
        }
        return res;
    }

转自:https://zhidao.baidu.com/question/680167183405269052.html

原文地址:https://www.cnblogs.com/quxiangxiangtiange/p/9968259.html

时间: 2024-08-07 08:55:59

PHP中的md5与Java中的md5加密结果不一致问题的相关文章

hadoop中Text类 与 java中String类的区别

hadoop 中 的Text类与java中的String类感觉上用法是相似的,但两者在编码格式和访问方式上还是有些差别的,要说明这个问题,首先得了解几个概念: 字符集: 是一个系统支持的所有抽象字符的集合.字符是各种文字和符号的总称,包括各国家文字.标点符号.图形符号.数字等.例如 unicode就是一个字符集,它的目标是涵盖世界上所有国家的文字和符号: 字符编码:是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他东西的一个集合(如号码或电脉冲)进行配对.即在符号集

C中的无符号整数在java中的处理

C中的无符号整数在java中的处理 * 因为java中整数都是有符号的,这意味着java中的整数比C中的无符号整数少一位有效数字, * 比如:32768用C无符号整数int16表示是正常的,但用java short(占两个字节)表示则变成了负数 * 所以在java中应该找有效数字位数更大的类型来表示 * 比如:无符号int16在取到2个字节之后应该用int表示 * 无符号int32在取到4个字节之后应该用long来表示 * C中的有符号整数在java可以正常处理 public class Sho

【Java】Java中的Collections类——Java中升级版的数据结构【转】

一般来说课本上的数据结构包括数组.单链表.堆栈.树.图.我这里所指的数据结构,是一个怎么表示一个对象的问题,有时候,单单一个变量声明不堪大用,比如int,String,double甚至一维数组.二维数组无法完全表达你要表达的东西,而定义一个类Class有太过麻烦,这时候,你可以考虑一下用Java中的Collections类.使用Collections类,必须在文件头声明import java.util.*;   一.动态.有序.可变大小的一维数组Vector与ArrayList Collecti

OC中的@interface和java中的区别以及 @implementation @protocol

java 在java中的interface是‘接口’的意思,而java的类声明用class,即接口用interface声明,类是用class声明,是两个独立的部分. 只有在类声明要实现某个接口时,他们两者才建立了关系,例如: [html] view plaincopyprint? interface AI{ void print(); }; class AC{ }; 这时候,AI和AC是独立存在,AC不会因为没有和AI建立关系而编译错误,将AC做以下修改后,AI才和AC建立了关系,AC必须实现A

【Java】Java中的Collections类——Java中升级版的数据结构

一般来说课本上的数据结构包括数组.单链表.堆栈.树.图.我这里所指的数据结构,是一个怎么表示一个对象的问题,有时候,单单一个变量声明不堪大用,比如int,String,double甚至一维数组.二维数组无法完全表达你要表达的东西,而定义一个类Class有太过麻烦,这时候,你可以考虑一下用Java中的Collections类.使用Collections类,必须在文件头声明import java.util.*; 一.动态.有序.可变大小的一维数组Vector与ArrayList Collection

C++学习笔记_02 C++中的const和Java中的final关键字的区别

(1)final在java中定义常量,可作用于基本类型或者类类型,若是作用于类类型,则此类类型不能作为父 类被继承,也就是说它的下面不能有子类,这样的类叫做原子类.    C++中的const定义常量 (2)Java中的final如果是对于基本类型,那和C++的const是一样的    但是如果是对对象而言,不同了     (3)final表示这个句柄是不可改变的    final Object obj=(Object)new String("a");    obj=(Object)n

Scala中集合类型与java中集合类型转换

以下为java.util.List  转为 scala 中 Seq的方法: 注意需要导入包 import collection.JavaConverters._ //根据topic获取partition信息 def getPartitionInfo(consumer: KafkaConsumer[_, _], topic: String): Seq[PartitionInfo] = { import collection.JavaConverters._ val partList: Seq[Pa

Android中自定义veiw使用Java中的回调方法

//------------------MainActivity----中---------------------------------- import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.widget.Toast; public class MainActivity extends Activity { p

用生活中的例子解释java中的接口

阅读本文前置条件 需要你掌握接口和抽象类的基本定义与区别. 小例子 抽象类 一说到公司的财务人员,大家都知道他的行政职能是什么. 这个职位就是抽象类.其中那套财政处理流程就是抽象类中具体的方法. 这个抽象类(职位)并不能直接处理财务问题,只是规定了在这个职位上的人应该遵循这套办事流程. 具体类 每个职员都有各自不同的特性,比如工资差异,回家的方式等. 这个人员就是具体的类,继承自这个财务职位,但是有各自差异的方法. 这个具体类(财务人员)是直接处理财务问题,是一个可以产生活动的类(人员).其中哪