SHA-1密码哈希算法(c语言实现)

本文详细介绍了如何使用C语言实现SHA-1密码哈希算法,包括算法的基本原理、步骤和关键代码片段,对于理解密码学中的哈希函数具有实践指导意义。
摘要由CSDN通过智能技术生成

SHA-1密码哈希算法(c语言实现)


本人为在校大学生,所写代码有诸多不足,希望各位多多指正。编译器为Dev
C++

using namespace std;
//明文
char M[100000]="abcdefghigklmnopqrszuvwxyzabcdefghigklmnopqrszuvwxyzabcdefghigklmnopqrszuvwxyzabcdefghigklmnopqrszuvwxyzabcdefghigklmnopqrszuvwxyzabcdefghigklmnopqrszuvwxyzabcdefghigklmnopqrszuvwxyzabcdefghigklmnopqrszuvwxyzabcdefghigklmnopqrszuvwxyzabcdefghigklmnopqrszuvwxyzabcdefghigklmnopqrszuvwxyzabcdefghigklmnopqrszuvwxyzabcdefghigklmnopqrszuvwxyzabcdefghigklmnopqrszuvwxyz"; 
//五个寄存器
unsigned int A,B,C,D,E;
//明文分组及其拓展 
unsigned int X[80];
//初始值
unsigned int IV[5]={0x67452301,0xefcdab89,0x98badcfb,0x10325476,0xc3d2e1f0}; 
//压缩函数所需常数K
unsigned int K[4]={0x5a827999,0x6ed93ba1,0x8f1bbcdc,0xca62c1d6};
//移位函数
 int move(int i,unsigned int x)
 {
 	unsigned int y;
 	y=x<<i;
 	x=y|x>>(32-i);
 	return x;
 }  
 //四轮压缩函数 
 int F1(int i)
 {
 	unsigned int m;
 	m=A;
 	A=K[0]+X[i]+move(5,A)+E+((B&C)|(~B&D));
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值