SHA-1(安全哈希算法实现)

SHA-1(安全哈希算法实现)

ID:40566811

大小:55.69 KB

页数:11页

时间:2019-08-04

SHA-1(安全哈希算法实现)_第1页
SHA-1(安全哈希算法实现)_第2页
SHA-1(安全哈希算法实现)_第3页
SHA-1(安全哈希算法实现)_第4页
SHA-1(安全哈希算法实现)_第5页
资源描述:

《SHA-1(安全哈希算法实现)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SHA-1(安全哈希算法实现)如题,不知道sha-1的自己百度吧。1#include2#include//定义vector数组3#include//记录消息4usingnamespacestd;56constintNUM=8;//一个字由32比特(或者8个16进制数)7constintBIT=512;//消息认证码要以512比特一组89//字常量10stringH0="67452301";11stringH1="EFCDAB89";12stringH2="98BADCFE";13stringH3="10325476";14stringH

2、4="C3D2E1F0";1516//定义SHA1(安全哈希算法)类17classSHA118{19public:20//将一个字符串形式的字转化为vector数组21vectorhex_into_dec(stringword);2223//将vector转化为string字符串形式24stringnum_into_message(vectorA);2526//两个字X和Y的逻辑"和"27vectorword_AND(vectorA,vectorB);2829//两个字X和Y的逻辑"或"30vectorword_OR(vecto

3、rA,vectorB);3132//两个字X和Y的逻辑"异或"33vectorword_XOR(vectorA,vectorB);3435//两个字X和Y的逻辑"补"36vectorword_COMPLEMENT(vectorA);3738//两个字X和Y的摸2^32整数加39vectorword_ADD(vectorA,vectorB);4041//将字X循环左移s个位置42vectorROTL(vectorA,ints);4344//SHA-1的填充方案,我们设定m

4、sg由ASCII码组成45vector>SHA_1_PAD(stringmsg);4647//将SHA-1压成以字为单位48vector>>compress(vector>result);4950//定义ft函数,每个ft函数都有B,C,D三个字作为输入,并产生一个字作为输出51vectorFt(intt,vectorB,vectorC,vectorD);5253//定义字常数K54vectorK(intt);5556//开始进行SHA-1(安全Hash

5、算法)的加密57vector>SHA_1(stringmsg);5859};6061//将vector转化为string字符串形式62stringSHA1::num_into_message(vectorA)63{64inti;65stringmsg="";66for(i=0;i=0&&A[i]<=9)69msg+='0'+A[i];70elseif(A[i]>=10&&A[i]<=15)71msg+='A'+(A[i]-10);72}73returnmsg;74}7576//将一个字符串形式的字转化

6、为vector数组77vectorSHA1::hex_into_dec(stringword)78{79inti;80vectorresult(NUM,0);81for(i=0;i='0'&&word[i]<='9')84{85result[i]=word[i]-'0';86}87elseif(word[i]>='A'&&word[i]<='F')88{89result[i]=10+word[i]-'A';90}91}92returnresult;93}9495//两个字X和Y的逻辑"和"96vectorSH

7、A1::word_AND(vectorA,vectorB)97{98vectorresult(NUM,0);99inti;100for(i=0;iSHA1::word_OR(vectorA,vector

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。