2015-3-23 MD5 及tostring参数

MD5加密是用于储存用户密码在数据库时所用的一种加密技术,防止数据在被攻破的时候,数据库中密码字段因明文存储所导致的信息泄露。

(还有我自己的一点点理解是也有助于防止SQL注入式的BUG,就是在密码输入框输入类型 or 1=1 所谓的万能密码)
MD5在.NET中是一个 抽象类  无法用new的方法创建对象,但是有create的方法创建。
110行创建了一个MD5对象
113行将传入的密码转换成字节数组 可以是要存入数据库的密码,也可以是输入的密码。
115行通过调用 ComputeHash方法 可以将字节数组转化成MD5加密后的字节数组
118-124 通过一个循环,将加密后的字节数组转成string类型 并返还。
注意 117行的那种写发 返还的值是不对的

因为将一个字节数组转成字符串理论上有3种方式
1  就是117行的方式 将每一个元素按照指定的格式解析字符串
2 直接将数组tostring
3将数组中每个元素tostring

1和3 的区别在于
例如  a 的ASCII码是 97
如果字节数组是 97979797  按照1的方式 拿到的值就是aaaa
但是按照3的方式就是 97979797

而MD5加密 要的就是加密后最原始的字符 所以 用第3种方式

还有就是122行的 .toString("x2")  是一种字符显示格式的规范

ToString()可空参数单独使用,同时可以加一个格式化参数,具体方式如下:

1. 取中文日期显示_年月 currentTime.ToString("y"); 格式:2007年1月

2. 取中文日期显示_月日 currentTime.ToString("m"); 格式:1月30日

3. 取日期显示_年月日 currentTime.ToString("d"); 格式:2007-1-30

4. 取日期显示_时分 currentTime.ToString("t"); 格式:15:35

5. Int32.Parse(变量) Int32.Parse("常量") 字符型转换 转为32位数字型

6. 变量.ToString() 字符型转换 转为字符串
12345.ToString("n"); //生成 12,345.00
12345.ToString("C"); //生成 ¥12,345.00
12345.ToString("e"); //生成 1.234500e+004
12345.ToString("f4"); //生成 12345.0000
12345.ToString("x"); //生成 3039

7. 变量.ToString("yyyyMMdd") ; 格式:20070101

8.变量.ToString(".00") ; 格式:*.??

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Crypto-js是一个流行的加密库,提供了多种加密算法的实现,其中包括MD5(Message Digest Algorithm 5)。 MD5是一种广泛应用的哈希函数,用于将任意长度的数据转换为固定长度的哈希值。其输出值为128位,通常表示为32位的十六进制数。 Crypto-js的MD5实现非常简单且易于使用。首先,在项目中引入Crypto-js库,并导入所需的MD5模块。然后,通过使用MD5函数,将待加密的数据作为参数传递给它,并获得对应的MD5哈希值。 以下是使用Crypto-js的MD5实现的示例代码: ``` // 引入Crypto-js库 <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.min.js"></script> // 导入MD5模块 const { MD5 } = require("crypto-js"); // 待加密的数据 const data = "Hello, World!"; // 计算MD5哈希值 const hash = MD5(data).toString(); // 打印结果 console.log(hash); ``` 运行以上代码,将输出:`ed076287532e86365e841e92bfc50d8c` 上述代码首先引入了Crypto-js库,然后导入MD5模块。接下来,声明一个待加密的数据,这里是"Hello, World!"。然后,通过调用MD5函数并传递待加密的数据作为参数,生成对应的MD5哈希值。 最后,将哈希值转换为字符串,并将其打印到控制台上。在此示例中,输出结果为`ed076287532e86365e841e92bfc50d8c`,这是"Hello, World!"的MD5哈希值。 总而言之,Crypto-js的MD5实现提供了一种简单且方便的方式,可以将任意长度的数据转换为固定长度的MD5哈希值,以提供数据的完整性和唯一性验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值