`

不同系统下 MD5加密 结果不同

阅读更多
最近做个项目需要在各个节点分别安装程序,发现了一个问题,在某个节点上汉字MD5加密不正确,该节点是linux操作系统,但是在本地和另外一台linux机子上没问题。我先开始以为是JDK环境的原因。重装了JDK但是还是不行。后来才发现是编码原因。
 public static String MD52(String MD5) {
        StringBuffer sb = new StringBuffer();
        String part = null;
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
           [color=red] byte[] md5 = md.digest(MD5.getBytes("GBK"));[/color]
            for (int i = 0; i < md5.length; i++) {
                part = Integer.toHexString(md5[i] & 0xFF);
                if (part.length() == 1) {
                    part = "0" + part;
                }
                sb.append(part);
            }

        } catch (Exception ex) {
        	ex.printStackTrace();
        }
        return sb.toString();

    }
指定下编码就行了。。。。另外传入的参数最好也要做下编码控制。。。但是具体原因我还是不知道。是和linuxjava虚拟机的默认编码有关吗?知道的朋友回复下。
分享到:
评论

相关推荐

    windows下MD5加密工具bat文件

    在这个MD5加密工具中,用户可以循环执行不同字符的加密,并且可以通过输入特定指令(如"quit")来退出加密界面。 MD5加密过程的核心在于计算哈希值。对于一个给定的输入字符串,MD5算法会通过一系列的数学运算,...

    Md5加密(dos下操作)

    如果你收到的压缩包文件名为“MD5加密(dos操作)”,里面可能包含一个DOS下的MD5加密指南或者工具,帮助用户理解如何在DOS环境下进行MD5操作。了解这个过程对于理解基础的网络安全和数据完整性概念是非常有价值的,但...

    Oracle实现MD5加密

    Oracle数据库作为一种企业级的数据库管理系统,提供了多种方式来实现MD5加密,这对于确保数据的安全性至关重要。本文将深入探讨如何在Oracle中实现MD5加密,并通过具体示例代码进行说明。 ### Oracle实现MD5加密的...

    jsp网页中用户登陆密码的MD5加密

    该方法使用MD5算法对输入字符串进行哈希运算,并将结果存储在digestHexStr成员变量中。 在jsp网页中,可以使用MD5类来实现用户登录密码的加密。例如,可以在登录页面的jsp代码中使用MD5类来加密用户输入的密码,...

    PB9.0调用MD5加密示例

    3. **编写代码**:在PowerScript中,你可以创建一个字符串变量,存储要加密的数据,然后调用`MD5Hash`函数,将结果存储在另一个变量中。例如: ```powerbuilder string ls_input, ls_md5 ls_input = "test...

    单片机MD5加密源代码

    综上所述,"单片机MD5加密源代码"提供的是一套适用于单片机环境的MD5实现,包括C语言实现的源代码和对应的头文件,能够帮助开发者在诸如瑞萨、STM和上海东软等芯片上实现数据的MD5加密和完整性校验,提高系统的安全...

    MD5加密算法的VB6.0类模块实例.doc

    它首先打开文件,读取文件的内容,然后使用MD5加密算法对文件内容进行加密,最后将加密结果转换为十六进制字符串。 DigestStrToHexStr函数 该函数用于将文本字符串加密成一个十六进制字符串。它首先将文本字符串...

    md5批量加密 dll外部动态库

    例如,在开发数据库管理系统时,如果需要对所有用户的密码进行安全存储,使用MD5批量加密工具就显得非常高效。 在提供的压缩包文件中,包含了一些常见的动态链接库(DLL)文件,这些文件在Windows系统中起着关键...

    C++MD5加密的使用

    首先,调用`MD5()`函数进行计算,它接受三个参数:要加密的字符串的指针、字符串长度和结果存储的缓冲区。然后,使用`stringstream`将得到的16进制数字转换成字符串。 在实际应用中,MD5常用于文件校验,确保文件在...

    pb12.5使用系统DLL实现md5加密

    本文将详细介绍如何在PB12.5中利用系统DLL(动态链接库)来实现MD5加密。MD5加密通常涉及将任意长度的数据转化为固定长度的128位二进制数据,通常以32位十六进制数字的形式展示。由于MD5算法的特性,同一输入总是...

    esp8266 MD5的加密

    在实际编程中,你需要根据`ESP8266_RTOS_Md5`提供的文档或源码来学习如何在ESP8266的RTOS环境下实现MD5加密。这通常涉及创建任务、调用MD5库函数、处理异步事件等步骤。通过深入理解MD5算法和ESP8266的特性,你可以...

    as3.0中MD5加密例子

    总的来说,AS3.0中的MD5加密例子展示了如何在Flash环境中实现数据的安全处理,尽管MD5在现代密码学中已经不再理想,但它在一些旧系统中仍然存在,了解其工作原理和使用方法对理解和维护这些系统至关重要。

    MD5加密例子

    由于MD5的计算速度快,碰撞(两个不同输入产生相同的输出)的概率相对较高,因此MD5不再适用于安全性要求极高的场景,如数字证书和密码存储。现代的加密标准,如SHA-256和bcrypt,提供了更高的安全性。 在"LiujunMD...

    asp.net MD5加密

    盐值是一个随机生成的附加信息,与原始密码一起输入到MD5函数中,使得相同的密码在不同系统中加密后得到不同的结果。 文件名"SHAI、MD5加密、解密、HTML字符串转换实例_strmanage_aspx1"可能包含了一个关于MD5加密...

    md5加密算法

    ### MD5加密算法详解 #### 一、MD5算法简介 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,它能够接收任意长度的信息,并产生一个128位(16字节)的散列值。该算法由Ron Rivest在1991年设计,作为...

    JavaScript前端md5加密

    JavaScript前端MD5加密是一种常见的数据安全处理技术,用于在客户端对敏感信息进行预处理,以保护数据不被轻易破解。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能将任意长度的输入转化为固定...

    MD5.rar_MD5.dll_dll加密_md5_md5加密dll

    在描述中提到的"MD5.dll"是一个动态链接库文件,通常在Windows操作系统环境下,用于提供MD5算法的函数接口。开发者可以通过调用这个DLL文件中的API,快速地在自己的应用程序中实现MD5加密功能。例如,`MD5.dll`可能...

    MD5 加密程序 MD5 加密程序 MD5 加密程序

    MD5 加密程序 MD5 加密程序 MD5 加密程序 MD5 加密程序 MD5 加密程序 MD5 加密程序

    易语言md5加密DLL

    总的来说,"易语言md5加密DLL"是一个帮助易语言开发者实现MD5加密的工具,尽管MD5在安全性方面存在局限,但其在某些场景下仍有其应用价值。在开发过程中,理解MD5的基本原理和局限性,以及如何正确地使用这个DLL,是...

    C# MD5加密实例

    总的来说,C#的MD5加密是一个简单且实用的功能,但在设计安全系统时,我们需要意识到它的局限性,并考虑采用更强大的加密策略。在处理像testMD5这样的实际项目时,确保正确理解和应用这些概念至关重要。

Global site tag (gtag.js) - Google Analytics