Chinaunix

标题: C语言中,如何使用md5进行加密? [打印本页]

作者: waterhk    时间: 2006-01-19 16:39
标题: C语言中,如何使用md5进行加密?
如题,比如本人想将字串:abc 用 md5 进行加密,应该如何写呢?
因为我 include "md5.h"; 正常,但不知内在有什么Function可用..

有高手可以指点一下吗??
作者: szmickhuang    时间: 2006-01-19 16:46
查看一下md5.H啊。。最直接的办法了。
作者: kf701    时间: 2006-01-19 17:02
这个可以用

md5.tar.gz

4.03 KB, 下载次数: 1006


作者: 独孤九贱    时间: 2006-01-20 09:02
原帖由 kf701 于 2006-1-19 17:02 发表
这个可以用


楼上大哥,你还有3DES等可逆的现成的加密函数么?我想用来文件加密……找了半天,没有找到Linux平台下可以用的!
作者: sunlan    时间: 2006-01-20 09:23
原帖由 独孤九贱 于 2006-1-20 09:02 发表


楼上大哥,你还有3DES等可逆的现成的加密函数么?我想用来文件加密……找了半天,没有找到Linux平台下可以用的!



用openssl。MD5、DES都有了
作者: whuphoenix    时间: 2006-01-20 09:51
贴个des的,估计3des,md5之类类同:)

#include <openssl/des.h>
#include <stdio.h>

int main(int argc, char *argv[]){
  des_cblock key;
  des_cblock ivec;
  char input[256], output[256], result[256]="";
  des_key_schedule sched;
  int c, i=0;

  fprintf(stderr, "Setting up the DES library...\n");
  des_string_to_key("www.chinaunix.com", &key);

  switch(des_set_key_checked(&key, sched)){
  case -1:
    fprintf(stderr, "Bad parity\n");
    _exit(42);
    break;

  case -2:
    fprintf(stderr, "Key is weak\n");
    _exit(42);
    break;
  }

  for(i=0;i<8;i++)
        ivec[i]=i;

      strcpy(input, "dhfasufhufhaajfdashfjdjskfjaodafjfashfd");
      des_cbc_encrypt(input, output,strlen(input)+1, sched, &ivec, DES_ENCRYPT);
      fprintf(stdout, "%s\n\n\n", output);

      des_cbc_encrypt(output, result,strlen(output)+1, sched, &ivec, DES_DECRYPT
);
      fprintf(stdout, "%s\n", result);

}
作者: szmickhuang    时间: 2006-01-20 11:30
google一下吧,这些成熟的加密算法网上还是很好找的。
作者: bigapple2008    时间: 2006-01-20 15:43
OpenSSL,去官方站点看看,虽然文档不算全,但还是可以用的。
作者: QU2CN    时间: 2006-01-20 23:20
哈,看了楼主大大们的回答,真的不错啊,感谢!!
作者: jeffyan    时间: 2006-02-07 09:56
网上太多例子了
作者: mq110    时间: 2006-02-07 10:13
crypt 函数 就支持md5加密 何必舍近求远.
作者: wolf0403    时间: 2006-02-07 11:30
支持 OpenSSL
作者: shineyear    时间: 2006-06-05 16:23
有没有MAKE文件啊?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2