<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      OpenSSL密碼算法庫: MD5示例小程序

      2013-06-27 13:44  zhenjing  閱讀(8210)  評論(0)    收藏  舉報

      OpenSSL http://www.openssl.org/ OpenSSL整個軟件包大概可以分成三個主要的功能部分:密碼算法庫、SSL協(xié)議庫以及應(yīng)用程序。OpenSSL 的密碼算法庫包含多種加密算法的實現(xiàn),可單獨應(yīng)用。

      OpenSSL 下載:http://www.openssl.org/source/

      安裝:

      ./config --prefix=/data/chenzhenjing/local

      make (若編譯不過,make clean后重試)

      make install 

      一個利用OpenSSL MD5算法的簡單示例程序:功能:根據(jù)文本文件的地一個非空字符串進行hash

      /*
       * =====================================================================================
       *
       *       Filename:  SplitProduct.c
       *
       *    Description:  
       *
       *        Version:  1.0
       *        Created:  04/03/2013 04:49:06 PM CST
       *       Revision:  none
       *       Compiler:  
       *                  gcc -std=c99 -I/data/chenzhenjing/local/include/openssl/ -c SplitProduct_md5.c
       *                  gcc -std=c99 -o  test_md5 SplitProduct_md5.o  /data/chenzhenjing/local/lib/libcrypto.a
       *
       *         Author:  Zhenjing Chen (zhenjing), zhenjing.chen@gmail.com
       *        Company:  
       *
       * =====================================================================================
       */
      
      #define _GNU_SOURCE
      #include <stdio.h>
      #include <string.h>
      #include <stdlib.h>
      #include <errno.h>
      #include <ctype.h>
      #include "openssl/md5.h"
      
      MD5_CTX  md5_ctx;
      
      static int MD5mod(const char* str, int length, int mod){
          char sign[16] = {0};
          
          MD5_Init(&md5_ctx);
          MD5_Update(&md5_ctx, str, length);
          MD5_Final(sign, &md5_ctx);
      
          int sum = 0;
          for (int i=0; i < 16; i ++) {
              sum += (sign[i]&0xff);
          }
          int offset = sum % mod;
          return offset;
      }
      
      int main(int argc, char** argv)
      {
          if( argc < 4){
              fprintf(stderr, "%s num infile outfile\n", argv[0]);
              exit(-1);
          }
          int num = atoi(argv[1]) ;
          if( num <= 0){
              fprintf(stderr, "ERROR: num error: %s\n", argv[1]);
              exit(-1);
          }
      
          FILE* in = fopen(argv[2], "r");
          if( in == NULL){
              perror("fopen");
              fprintf(stderr, "ERROR: infile error: %s\n", argv[2]);
              exit(-1);
          }
      
          FILE** OUT = (FILE**)malloc(sizeof(FILE*) * num);
          for(int i=0; i<num; ++i){
              char buf[256] = {0};
              sprintf(buf, "%s_%d", argv[3], i);
              OUT[i] = fopen(buf, "w");
              if( OUT[i] == NULL){
                  perror("fopen");
                  fprintf(stderr, "ERROR: infile error: %s\n", argv[2]);
                  exit(-1);
              }
          }
      
          size_t len = 0;
          ssize_t read;
          char * line = NULL;
      
          while ((read = getline(&line, &len, in)) != -1) {
              int  klen = 0;
              while( klen < read ){
                  if( isspace( *(line+klen)) ) break;
      
                  klen++;
              }
      
           //   char id[256]={0};
           //   strncpy(id, line, klen);
           //   printf("id=%s\tklen=%d\tread=%ld\tline=%s", id, klen, read, line);
      
              fprintf(OUT[MD5mod(line, klen, num)], "%s", line);
          }
      
          if(line) free(line);
      
          return 0;
      }

      其他參考資料:

      使用 OpenSSL API 進行安全編程:http://www.ibm.com/developerworks/cn/linux/l-openssl.html

      主站蜘蛛池模板: 国产精品久久久久7777| 九九热在线观看视频精品| 封丘县| 日韩精品一区二区三区四| 国99久9在线 | 免费| 国产欧美综合在线观看第十页| 色8久久人人97超碰香蕉987| 国产精品亚洲片夜色在线| 日本三线免费视频观看| 亚洲AV日韩AV激情亚洲| 米奇亚洲国产精品思久久| 久久久亚洲欧洲日产国码二区| 九九热视频精选在线播放| 苍井空毛片精品久久久| 99RE6在线视频精品免费下载| 国产av黄色一区二区三区| 午夜福利影院不卡影院| 日韩乱码人妻无码中文字幕视频| 午夜片神马影院福利| 人妻精品动漫H无码中字| 亚洲中文字幕无码爆乳| 亚洲av综合色区无码专区| 亲子乱aⅴ一区二区三区| 一本大道卡一卡二卡三乱码全集资源| 亚洲经典av一区二区| 国产一区二区不卡在线| 亚洲国产成人综合精品| 国产午夜在线观看视频播放| 亚洲欧美日韩综合一区在线| 国自产在线精品一本无码中文| 日韩人妻无码精品无码中文字幕 | 一区二区三区四区黄色网| 久久一区二区中文字幕| 成人国产精品日本在线观看| 国产伦人人人人人人性| 中文字幕乱码亚洲无线三区| 92自拍视频爽啪在线观看| 亚洲国产欧美一区二区好看电影| 国产在线不卡精品网站| 国产自拍在线一区二区三区| 亚洲精品久久麻豆蜜桃|