Openssl Des-3

int DES_set_key(const_DES_cblock *key,DES_key_schedule *schedule);
将key值设定到schedule中;
key: key的值;
schedule: key,输出参数;
返回值:1,密钥经过检验, 0, 密钥没有经过检验;

int DES_key_sched(const_DES_cblock *key,DES_key_schedule *schedule);
与DES_set_key 相同;

int DES_set_key_checked(const_DES_cblock *key,DES_key_schedule *schedule);
设定密钥,但检查key是否是奇数,是否是弱密钥,或者是半弱密钥,如果奇数校验有问题,返回-1,如果是弱密钥,返回-2, 如果不成功,schedule内将不被设定密钥;

void DES_set_key_unchecked(const_DES_cblock *key,DES_key_schedule *schedule);
设定密钥,不检查密钥数值的奇偶性,也不检查密钥是否为弱密钥,半弱密钥。

void DES_string_to_key(const char *str,DES_cblock *key);
char×数组转为单个密钥DES_cblock值;为了与MIT Library向后兼容,用户应该使用hash函数,尽量不使用此函数;

void DES_string_to_2keys(const char *str,DES_cblock *key1,DES_cblock *key2);
char*数组转为两个密钥;为了与MIT Library向后兼容,用户应该使用hash函数,尽量不使用此函数;

void DES_cfb64_encrypt(const unsigned char *in,unsigned char *out,long length,
               DES_key_schedule *schedule,DES_cblock *ivec,int *num,
               int enc);
DES CFB64位模式计算;输入参数与CBC模式计算相同;


void DES_ofb64_encrypt(const unsigned char *in,unsigned char *out,long length,
               DES_key_schedule *schedule,DES_cblock *ivec,int *num);
DES OFB64为模式计算;输入参数与CBC模式计算相同;

int DES_read_password(DES_cblock *key, const char *prompt, int verify);
在标准输出中输出prompt字符,读取标准输入输入的字符,如果verify设定了,那么会提示用户输入两次,比较两次输入的结果是否相同,第一次输入的密码保存在buf中,第二次输入的密码保存在buff中,然后将用户输入的数据,设定到key中;
返回值: 0 成功

int DES_read_2passwords(DES_cblock *key1, DES_cblock *key2, const char *prompt,
    int verify);
在标准输出中输出prompt字符,读取标准输入输入的字符,如果verify设定了,那么会提示用户输入两次,比较两次输入的结果是否相同,第一次输入的密码保存在buf中,第二次输入的密码保存在buff中,然后将用户输入的数据,设定到key1与key2中;
返回值: 0: 成功


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值