当前位置: 首页 > news >正文

帮网站网站做推广被抓会判刑吗广西做网站建设的公司

帮网站网站做推广被抓会判刑吗,广西做网站建设的公司,网站开发指什么软件,asp网站伪静态教程MD5加密 文章目录 MD5加密MD5介绍应用场景代码分析 #xff08;基于qt5.14.2#xff09;测试记录 MD5介绍 1。 一种单向加密算法#xff0c;即对明文加密#xff0c;而不能通过密文得到明文。对原数据的任何改动#xff0c;哪怕是1字节#xff0c;得到的MD5值都有很大的区…MD5加密 文章目录 MD5加密MD5介绍应用场景代码分析 基于qt5.14.2测试记录 MD5介绍 1。 一种单向加密算法即对明文加密而不能通过密文得到明文。对原数据的任何改动哪怕是1字节得到的MD5值都有很大的区别。可以用公式表示密文Md5_calc(原文数据)应用场景 1.密码认证 2.数据校验代码分析 基于qt5.14.2 md5.c #include string.h #include md5.h#define F(x,y,z) ((x y) | (~x z)) #define G(x,y,z) ((x z) | (y ~z)) #define H(x,y,z) (x^y^z) #define I(x,y,z) (y ^ (x | ~z)) #define ROTATE_LEFT(x,n) ((x n) | (x (32-n))) #define FF(a,b,c,d,x,s,ac) \{ \a F(b,c,d) x ac; \a ROTATE_LEFT(a,s); \a b; \} #define GG(a,b,c,d,x,s,ac) \{ \a G(b,c,d) x ac; \a ROTATE_LEFT(a,s); \a b; \} #define HH(a,b,c,d,x,s,ac) \{ \a H(b,c,d) x ac; \a ROTATE_LEFT(a,s); \a b; \} #define II(a,b,c,d,x,s,ac) \{ \a I(b,c,d) x ac; \a ROTATE_LEFT(a,s); \a b; \}void MD5Transform(unsigned int state[4],unsigned char block[64]); void MD5Encode(unsigned char *output,unsigned int *input,unsigned int len); void MD5Decode(unsigned int *output,unsigned char *input,unsigned int len);unsigned char PADDING[] {0x80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 };void MD5Init(MD5_CTX *context) {context-count[0] 0;context-count[1] 0;context-state[0] 0x67452301;context-state[1] 0xEFCDAB89;context-state[2] 0x98BADCFE;context-state[3] 0x10325476; } void MD5Update(MD5_CTX *context,unsigned char *input,unsigned int inputlen) {unsigned int i 0,index 0,partlen 0;index (context-count[0] 3) 0x3F;partlen 64 - index;context-count[0] inputlen 3;if(context-count[0] (inputlen 3)) {context-count[1];}context-count[1] inputlen 29;if(inputlen partlen) {memcpy(context-buffer[index],input,partlen);MD5Transform(context-state,context-buffer);for(i partlen;i64 inputlen;i64) {MD5Transform(context-state,input[i]);}index 0;} else {i 0;}memcpy(context-buffer[index],input[i],inputlen-i); }void MD5Final(MD5_CTX *context,unsigned char digest[16]) {unsigned int index 0,padlen 0;unsigned char bits[8];index (context-count[0] 3) 0x3F;padlen (index 56)?(56-index):(120-index);MD5Encode(bits,context-count,8);MD5Update(context,PADDING,padlen);MD5Update(context,bits,8);MD5Encode(digest,context-state,16); } void MD5Encode(unsigned char *output,unsigned int *input,unsigned int len) {unsigned int i 0,j 0;while(j len) {output[j] input[i] 0xFF;output[j1] (input[i] 8) 0xFF;output[j2] (input[i] 16) 0xFF;output[j3] (input[i] 24) 0xFF;i;j4;} } void MD5Decode(unsigned int *output,unsigned char *input,unsigned int len) {unsigned int i 0,j 0;while(j len) {output[i] (input[j]) | (input[j1] 8) | (input[j2] 16) | (input[j3] 24);i;j4;} } void MD5Transform(unsigned int state[4],unsigned char block[64]) {unsigned int a state[0];unsigned int b state[1];unsigned int c state[2];unsigned int d state[3];unsigned int x[64];MD5Decode(x,block,64);FF(a, b, c, d, x[ 0], 7, 0xd76aa478);FF(d, a, b, c, x[ 1], 12, 0xe8c7b756);FF(c, d, a, b, x[ 2], 17, 0x242070db);FF(b, c, d, a, x[ 3], 22, 0xc1bdceee);FF(a, b, c, d, x[ 4], 7, 0xf57c0faf);FF(d, a, b, c, x[ 5], 12, 0x4787c62a);FF(c, d, a, b, x[ 6], 17, 0xa8304613);FF(b, c, d, a, x[ 7], 22, 0xfd469501);FF(a, b, c, d, x[ 8], 7, 0x698098d8);FF(d, a, b, c, x[ 9], 12, 0x8b44f7af);FF(c, d, a, b, x[10], 17, 0xffff5bb1);FF(b, c, d, a, x[11], 22, 0x895cd7be);FF(a, b, c, d, x[12], 7, 0x6b901122);FF(d, a, b, c, x[13], 12, 0xfd987193);FF(c, d, a, b, x[14], 17, 0xa679438e);FF(b, c, d, a, x[15], 22, 0x49b40821);GG(a, b, c, d, x[ 1], 5, 0xf61e2562);GG(d, a, b, c, x[ 6], 9, 0xc040b340);GG(c, d, a, b, x[11], 14, 0x265e5a51);GG(b, c, d, a, x[ 0], 20, 0xe9b6c7aa);GG(a, b, c, d, x[ 5], 5, 0xd62f105d);GG(d, a, b, c, x[10], 9, 0x2441453);GG(c, d, a, b, x[15], 14, 0xd8a1e681);GG(b, c, d, a, x[ 4], 20, 0xe7d3fbc8);GG(a, b, c, d, x[ 9], 5, 0x21e1cde6);GG(d, a, b, c, x[14], 9, 0xc33707d6);GG(c, d, a, b, x[ 3], 14, 0xf4d50d87);GG(b, c, d, a, x[ 8], 20, 0x455a14ed);GG(a, b, c, d, x[13], 5, 0xa9e3e905);GG(d, a, b, c, x[ 2], 9, 0xfcefa3f8);GG(c, d, a, b, x[ 7], 14, 0x676f02d9);GG(b, c, d, a, x[12], 20, 0x8d2a4c8a);HH(a, b, c, d, x[ 5], 4, 0xfffa3942);HH(d, a, b, c, x[ 8], 11, 0x8771f681);HH(c, d, a, b, x[11], 16, 0x6d9d6122);HH(b, c, d, a, x[14], 23, 0xfde5380c);HH(a, b, c, d, x[ 1], 4, 0xa4beea44);HH(d, a, b, c, x[ 4], 11, 0x4bdecfa9);HH(c, d, a, b, x[ 7], 16, 0xf6bb4b60);HH(b, c, d, a, x[10], 23, 0xbebfbc70);HH(a, b, c, d, x[13], 4, 0x289b7ec6);HH(d, a, b, c, x[ 0], 11, 0xeaa127fa);HH(c, d, a, b, x[ 3], 16, 0xd4ef3085);HH(b, c, d, a, x[ 6], 23, 0x4881d05);HH(a, b, c, d, x[ 9], 4, 0xd9d4d039);HH(d, a, b, c, x[12], 11, 0xe6db99e5);HH(c, d, a, b, x[15], 16, 0x1fa27cf8);HH(b, c, d, a, x[ 2], 23, 0xc4ac5665);II(a, b, c, d, x[ 0], 6, 0xf4292244);II(d, a, b, c, x[ 7], 10, 0x432aff97);II(c, d, a, b, x[14], 15, 0xab9423a7);II(b, c, d, a, x[ 5], 21, 0xfc93a039);II(a, b, c, d, x[12], 6, 0x655b59c3);II(d, a, b, c, x[ 3], 10, 0x8f0ccc92);II(c, d, a, b, x[10], 15, 0xffeff47d);II(b, c, d, a, x[ 1], 21, 0x85845dd1);II(a, b, c, d, x[ 8], 6, 0x6fa87e4f);II(d, a, b, c, x[15], 10, 0xfe2ce6e0);II(c, d, a, b, x[ 6], 15, 0xa3014314);II(b, c, d, a, x[13], 21, 0x4e0811a1);II(a, b, c, d, x[ 4], 6, 0xf7537e82);II(d, a, b, c, x[11], 10, 0xbd3af235);II(c, d, a, b, x[ 2], 15, 0x2ad7d2bb);II(b, c, d, a, x[ 9], 21, 0xeb86d391);state[0] a;state[1] b;state[2] c;state[3] d; } md5.h #ifndef MD5_H #define MD5_Htypedef struct {unsigned int count[2];unsigned int state[4];unsigned char buffer[64]; }MD5_CTX;void MD5Init(MD5_CTX *context); void MD5Update(MD5_CTX *context,unsigned char *input,unsigned int inputlen); void MD5Final(MD5_CTX *context,unsigned char digest[16]);#endif main.c #include QCoreApplicationextern C{ //添加头文件#include md5.h }int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);int i, n;bool isfile false;unsigned char decrypt[16];MD5_CTX md5;if(argc 1 strlen(argv[1]) 2 !memcmp(argv[1], -f, 2)) {isfile true;}if(argc 1 || (argc 2 isfile)) {fprintf(stderr, usage:\n %s -f file ...\n %s string ...\n, argv[0], argv[0]);return 1;}if(isfile) {FILE *fp;for(n2; nargc; n) {fp fopen(argv[n], rb);if(fp NULL) {fprintf(stderr, File %s not exists, errno %d, error %s\n, argv[n], errno, strerror(errno));continue;}MD5Init(md5);do {unsigned char encrypt[1024];while(!feof(fp)) {MD5Update(md5, encrypt, fread(encrypt, 1, sizeof(encrypt), fp));}fclose(fp);} while(0);MD5Final(md5, decrypt);for(i0; i16; i) {printf(%02x, decrypt[i]); //02x前需要加上 %}printf( %s\n, argv[n]);}} else {for(n1; nargc; n) {MD5Init(md5);MD5Update(md5,(unsigned char*) argv[n], strlen(argv[n]));MD5Final(md5, decrypt);for(i0; i16; i) {printf(%02x, decrypt[i]); //02x前需要加上 %}printf( %s\n, argv[n]);}}return a.exec(); }测试记录 源码打包windeployqt.exe工具得到MD5.exe 运行测试创建一个test.txt文件打开文件写入123保存关闭运行如下测试命令MD5.exe -f test.txt 得到密文202cb962ac59075b964b07152d234b70 测试准确性利用在线工具输入123得到相同的密文验证成功。
http://www.pierceye.com/news/706711/

相关文章:

  • 浙江省建设厅门户网站咨询公司是干什么的
  • 哪个网站上可以做初中数学题wordpress 网校插件
  • html写手机网站制作网页用什么语言
  • 一站式网站建设价格百度网站
  • 招商网站建设多少钱企业形象墙
  • 医疗设备响应式网站免费素材库
  • 服务器如何搭建php网站网页美工设计从入门到精通
  • 淘宝的网站建设情况做企业平台的网站有哪些
  • 深圳网站建设公司设计公司做网站排名有用吗
  • 企业营销型网站建设厂家 天堂资源地址在线官网
  • 编写这个网站模板要多少钱便宜做网站公司
  • asp企业网站源码下载网页制作基础教程田田田田田田田田
  • 网站标题title怎么写网站建设建设公司有哪些
  • 辽宁移动网站网站域名注册费用
  • 深圳建网站兴田德润专业电商店铺首页设计
  • 网站推广的工作内容芜湖做网站的客户
  • 求一些做里番的网站wordpress新闻快讯插件
  • 网站加速器下载公司网页设计思路
  • 数据库网站开发memcached wordpress 慢 卡
  • 上市设计网站软件商城官网
  • 网站建设是什么科目查找5个搜索引擎作弊的网站
  • 佛山市锵美装饰有限公司网站建设案例微信商城小程序开发一般需要多少钱
  • 成都网站定制中心知名的中文域名网站有哪些
  • 福州长乐网站建设网站流量统计分析
  • 四川网站建设公司 登录六盘水市诚信网站建设公司
  • 优秀包装设计网站软件工程师工作
  • 舟山建设信息港网站泉州百度网络推广
  • 网站流量宝镜像别人网站做排名的好处
  • 如何学习网站建设app网络营销方案设计题
  • 高端品牌网站建设明细报价报腾讯云 win wordpress