C语言加密输入法二:使用SHA1加密
来源:互联网 发布:js手机端上传图片 编辑:程序博客网 时间:2024/05/21 21:40
此处对openssl里的函数进行讲解
//SHA1算法是对MD5算法的升级,计算结果为20字节(160位),使用方法如下://打开/usr/include/openssl/sha.h这个文件我们可以看到一些函数// 初始化 SHA Contex, 成功返回1,失败返回0int SHA_Init(SHA_CTX *c);// 循环调用此函数,可以将不同的数据加在一起计算SHA1,成功返回1,失败返回0int SHA_Update(SHA_CTX *c, const void *data, size_t len);// 输出SHA1结果数据,成功返回1,失败返回0int SHA_Final(unsigned char *md, SHA_CTX *c);// SHA_Init,SHA_Update,SHA_Final三个函数的组合,直接计算出SHA1的值unsigned char *SHA(const unsigned char *d, size_t n, unsigned char *md);// 内部函数,不需要调用void SHA_Transform(SHA_CTX *c, const unsigned char *data);//上面的SHA可以改为SHA1,SHA224,SHA256,SHA384,SHA512就可以实现多种加密了
修改程序可得:
#include <openssl/sha.h>#include <string.h>#include <stdio.h>int main(){ SHA_CTX stx; unsigned char outmd[20];//注意这里的字符个数为20 char buffer[1024]; char filename[32]; int len=0; int i; FILE * fp=NULL; memset(outmd,0,sizeof(outmd)); memset(filename,0,sizeof(filename)); memset(buffer,0,sizeof(buffer)); printf("请输入文件名,用于计算SHA1值:"); scanf("%s",filename); fp=fopen(filename,"rb"); if(fp==NULL) { printf("Can't open file\n"); return 0; } SHA1_Init(&stx); while((len=fread(buffer,1,1024,fp))>0) { SHA1_Update(&stx,buffer,len); memset(buffer,0,sizeof(buffer)); } SHA1_Final(outmd,&stx); for(i=0;i<20;i<i++) { printf("%02X",outmd[i]); } printf("\n"); return 0;}
0 0
- C语言加密输入法二:使用SHA1加密
- sha1加密 C语言例子(使用OpenSSL库)
- loadrunner C语言 实现sha1加密
- LoadRunner/C语言 实现:SHA1加密
- C语言的加密输入法一:MD5加密
- objective-c sha1加密实现
- QT MD5 SHA1加密使用
- SHA1 加密
- SHA1加密
- sha1 加密
- SHA1加密
- sha1加密
- sha1 加密
- sha1加密
- sha1加密
- SHA1加密
- sha1加密
- C语言使用openssl库进行加密
- SVN服务器搭建和使用教程
- Tinker 接入指南
- XML——Schema约束
- 【圈子】提升支付宝芝麻信用评分
- IBM Streams时间序列数据分析
- C语言加密输入法二:使用SHA1加密
- 十分钟搞定pandas
- jquery实现iframe方式的dialog窗口,加关闭并刷新父窗口功能
- 程序员,你为什么值这么多钱?
- 判断文件是否是图片格式
- 算法竞赛入门经典-第五章小学生算术
- 解决MariaDB下开启Fedreated引擎
- Tinker 常见问题
- 第12周项目5-迷宫问题之图深度优先遍历解读