MD5:js,java,C#三种语言加密结果不同解决办法
最近遇到前端js MD5加密与后端C#与Java MD5加密结果不一致的问题,所以写个关于此问题的解决办法
前端js引用的md5类库,类库地址:https://blueimp.github.io/JavaScript-MD5/
这个是没有办法动的
所以修改了一下java与C#的md5算法,代码如下:
C#代码
#region 获取MD5加密
public static string GetMD5(string inputString)
{
using (MD5CryptoServiceProvider mD5CryptoServiceProvider = new MD5CryptoServiceProvider())
{
byte[] bytes = Encoding.UTF8.GetBytes(inputString);
byte[] array = mD5CryptoServiceProvider.ComputeHash(bytes);
StringBuilder sb = new StringBuilder();
foreach (var a in array)
{
sb.AppendFormat("{0:x2}", a);
}
return sb.ToString();
}
}
#endregion
}
Java代码如下:
public static String GetMD5(String inputString) throws Exception {
        MessageDigest md5 = MessageDigest.getInstance("MD5");
        byte[] bytes = inputString.getBytes("UTF-8");
        byte[] array = md5.digest(bytes);
        StringBuilder sb = new StringBuilder();
        for (byte b : array) {
            if(Integer.toHexString(0xFF & b).length() == 1)
            {
                sb.append("0").append(Integer.toHexString(0xFF & b));
            }
            else {
                sb.append(Integer.toHexString(0xFF & b));
            }
        }
        return sb.toString();
    }

MD5:js,java,C#三种语言加密结果不同解决办法的更多相关文章
- 用VMWare搭建服务器集群不能上外网的三种模式下对应解决办法
		
前言 决心要花费宝贵时间写下这篇心得,是因为从昨天晚上到今天上午被这个VMWare模拟搭建的服务器集群不能上外网的问题搞得很心烦,最后决定跟它杠上了!上午还通过远程连接得到了“空白”同学的帮助,在此表 ...
 - 插入算法分别从C,java,python三种语言进行书写
		
真正学懂计算机的人(不只是“编程匠”)都对数学有相当的造诣,既能用科学家的严谨思维来求证,也能用工程师的务实手段来解决问题——而这种思维和手段的最佳演绎就是“算法”. 作为一个初级编程人员或者说是一个 ...
 - AES加密php,java,.net三种语言同步实现加密、解密
		
话不多数上代码: java::: /* * To change this license header, choose License Headers in Project Properties. * ...
 - java php c# 三种语言的AES加密互转
		
java php c# 三种语言的AES加密互转 最近做的项目中有一个领取优惠券的功能,项目是用php写得,不得不佩服,php自带的方法简洁而又方便好用.项目是为平台为其他公司发放优惠券,结果很囧的是 ...
 - Java的三种代理模式
		
Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩 ...
 - Java的三种代理模式简述
		
本文着重讲述三种代理模式在java代码中如何写出,为保证文章的针对性,暂且不讨论底层实现原理,具体的原理将在下一篇博文中讲述. 代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下, ...
 - 研究分析JS中的三种逻辑语句
		
JS中的三种逻辑语句:顺序.分支和循环语句. 一.顺序语句 代码规范如下:1. <script type="text/javascript"> var a = 10; ...
 - 理解java的三种代理模式
		
代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下,实现对目标对象的功能扩展. 比如有个歌手对象叫Singer,这个对象有一个唱歌方法叫sing(). 1 public class ...
 - java 的三种代理
		
java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作, ...
 
随机推荐
- 学习PHP好,还是Python好呢?
			
首先简单介绍一下Python. Python在出现以来,已经有数以千计基于这项技术的网站和软件项目,Python因其独有的特点从众多开发语言中脱颖而出,深受世界各地的开发者喜爱. 下面,我们列举了Py ...
 - windows/Linux/Mac下安装maven,maven作用
			
Linux下安装maven 1.首先到Maven官网下载安装文件,目前最新版本为3.0.3,下载文件为apache-maven-3.3.9-bin.tar.gz,下载可以使用wget命令: 2.进入下 ...
 - PHP  面试题三
			
1.nginx使用哪种网络协议? nginx是应用层 我觉得从下往上的话 传输层用的是tcp/ip 应用层用的是http fastcgi负责调度进程 2. <? echo 'hello tush ...
 - Laravel5.3使用学习笔记---中间件
			
Laravel提供了中间件的使用.那什么是中间件呢,根据用法,我总结为,夹在“请求—>控制器—>响应—>end”中间运行的代码片段.本文将以官方英文文本为基础资料进行笔记记录. La ...
 - H3C 多区域OSPF配置示例
 - 2018-12-14-恢复-U-盘隐藏文件夹
			
title author date CreateTime categories 恢复 U 盘隐藏文件夹 lindexi 2018-12-14 19:24:56 +0800 2018-12-14 19: ...
 - H3C DHCP中继显示及维护
 - linux 位操作
			
atomic_t 类型在进行整数算术时是不错的. 但是, 它无法工作的好, 当你需要以原子方 式操作单个位时. 为此, 内核提供了一套函数来原子地修改或测试单个位. 因为整个操作 在单步内发生, 没有 ...
 - Python的优缺点、以及解释器种类
			
优点 Python起始定位“优雅”.“明确”.“简洁”,工具型语言,上手快,实用性强. 开发效率高,支持库强大,很多功能都有与之对应的最优模块支持. 高级语言,编程时无需考虑内存等底层具体实现. 可移 ...
 - hihocoeder1384
			
hihocoeder1384 算法竞赛进阶指南上的题目 我们肯定是吧最大值和最小值匹配,次大值和次小值匹配以此类推 首先,类似于区间覆盖的思想,我们对于一个\(L\),找到最大的满足条件的\(R\) ...