OpenSSL 编程 - DES

/*
gcc -o des-basic des-basic.c -lcrypto
*/

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

int  main( int  argc, char   ** argv)
{
    DES_cblock key;
    
/* DES_random_key(&key); */ /* generate a random key */
    DES_string_to_key(
"pass"&key);
    
    DES_key_schedule schedule;
    DES_set_key_checked(
&key, &schedule); 
    
    const_DES_cblock input 
= "hehehe";
    DES_cblock output;

    printf(
"cleartext:%s ", input);
    
    DES_ecb_encrypt(
&input, &output, &schedule, DES_ENCRYPT);
    printf(
"Encrypted! ");

    printf(
"ciphertext:");
    
int i;
    
for (i = 0; i < sizeof(input); i++)
         printf(
"%02x", output[i]);
    printf(
" ");
    
    DES_ecb_encrypt(
&output, &input, &schedule, DES_DECRYPT);
    printf(
"Decrypted! ");
    printf(
"cleartext:%s ", input);
    
    
return 0;
}
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值