6相关元件介绍
6.1函数助手
1散列函数
函数助手mdash;mdash;散列函数通过点击图标 ,打开函数助手,选择digest得到。
如图31所示。
图31 散列函数
- 算法摘要:支持散列的方法,包括:MD2、MD5、SHA-1、SHA-224、SHA-256、SHA-384和SHA-512。
- String to be hashed:需要被散列的支付串。。
- Salt to be used for hashing (optional):散列说用到的盐值(可选)。
拷贝并粘贴的字符显示调用配置函数的方法,可以通过【生成】按钮生成,通过【重置变量】按钮重置。
- 点击【生成】按键,可以得到函数表达式,并且进行拷贝。
- 点击【重置变量】按键,可以重新输入表达式。
- The result of function is:显示当前产生的散列字符串的值。
- 当前JMeter的变量:显示当前JMeter的变量。
图5-32显示字符串“123456”加上盐值“654321”被进行MD5后的散列值。
图32 MD5散列
- MD5:MD5信息摘要算法(英语:MD5 Message-Digest Algorithm)是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公布,从而取代MD4算法。这套算法的程序在RFC 1321 标准中被加以规范。1996年后该算法被证实存在弱点,对于需要高度安全性的数据,专家一般建议改用其他算法,如SHA-2。2004年,证实MD5算法无法防止碰撞(collision),因此不适用于安全性认证,如SSL公开密钥认证或是数字签名等用途。
- 哈希碰撞:对于不同的支付串,通过散列函数,可以生成不同散列后的支付串。即对于任何字符串A和B,A≠B。进行散列后得到字符串X和Y,其中X= f(A); Y= f(B),f为某一种散列函数,X和Y一定满足X≠Y。如果得到某个字符串A'和B',A'≠B',但是发现X'= f(A'); Y'=
f(B'),X'=Y',则这个散列函数f无法防止碰撞(collision)。
- SHA。安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的机率很高。SHA-1被谷歌的工程师在2017 2月23日证明存在哈希碰撞。SHA的家族包括SHA-1、SHA-224、SHA-256、SHA-384和SHA-512。
- 盐值。为了保证散列函数的安全性,往往把加密的字符串加上盐值一起进行散列。盐值可以在加密的字符串最前面,最后面,也可以在中间。可以设置一组字符串用一个盐值,也可以一个字符串用一个盐值。盐值单独放在特定的文件或数据库字段中。在JMeter中盐值一般放在加密的字符串的后面。图3所示,字符串“123456”加上盐值“654321”被进行MD5后的散列值与字符串“123456654321” 进行MD5后的散列值是一致的。