必威体育Betway必威体育官网
当前位置:首页 > IT技术

使用MD5在线加解密工具,对汉字进行加密,得到不同的结果

时间:2019-08-13 11:42:10来源:IT技术作者:seo实验室小编阅读:70次「手机版」
 

md5在线解密

1. 问题背景

使用相同的汉字字符串进行MD5计算,有时候会遇到:使用不同的在线工具,得到不同的MD5计算结果。

2. 原因

出现这样情况的原因,通常是因为不同的在线工具使用的对汉字的编码方式不同。(如果还有其他原因,欢迎大家评论留言哈,本喵也很想知道~)

3. 验证

用一个32位的MD5的c程序来大致分析一下这个问题。

当使用VS的默认编码方式gb2312或者unicode时,得到的结果像下面图1中那样,这时候“加解密”三个汉字占用6个字节,可以知道这个时候是按照“1个汉字占2字节”的编码方式来处理的。

(图1)

当添加#pragma execution_character_set("utf-8")语句时,让VS使用utf-8编码方式,得到的结果像下面图2中那样,这时候“加解密”三个汉字占用9个字节,可以知道这个时候是按照“1个汉字占3字节”的编码方式来处理的。

(图2)

两种编码方式下,对汉字计算出的MD5结果是不同的,一般网上的在线MD5工具是使用的utf-8的编码方式,我们用几个在线工具试一下:

与我们c程序中使用utf-8的结果是一致的。目前网上大部分的在线MD5工具都是采用这种编码方式。

4. 另:但是有的很奇怪,跟上面两种数据都不相同

不清楚是什么原因(对字母数字倒是和其他工具相同,是采用了其他的编码方式吗?),如果有大侠知道,还望指点。建议使用在线工具时,尽量使用通行办法,避开一些比较偏的工具。

相关阅读

计算MD5值有几种方式

想知道计算”hello“的MD5值有几种方式 linux 命令行: [sm2env ~]# echo "hello" | md5sum | cut -d ' ' -f1 b1946ac92492d

AES加密算法(Rijndael算法)

此文章为转载,如有侵权,通知删除原地址:https://blog.csdn.net/zfpigpig/article/details/8526016上周好几天都在搞AES,总算是把Rijnd

常用SSH、Telnet、TFTP工具

远程管理路由器、NAS,离不开SSH、Telnet等终端机工具,其中Telnet传输的数据是未加密的,而SSH是加密的。故Telnet适合安全的内网用户

基于LocationManager的定位工具类

现在开发的项目中经常用到定位功能,如果每次都去新写一个监听,太过于繁琐和增加代码重复量,于是写一个定位工具类。首先,定位的基本流

Java的常用开发工具

Java开发者推荐的几种常用工具,Java程序员最喜欢的几款IDE编辑器 这篇文章主要为大家详细介绍了Java开发者推荐的10种常用工具,具

分享到:

栏目导航

推荐阅读

热门阅读