现在的位置: 首页 > 综合 > 正文

Openssl Des-3

2017年11月11日 ⁄ 综合 ⁄ 共 1471字 ⁄ 字号 评论关闭

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: 成功

抱歉!评论已关闭.