- 论坛徽章:
- 0
|
EVP提供的对口令管理的函数有三个,定义如下(openssl\evp.h):
int EVP_read_pw_string(char *buf,int length,const char *prompt,int veri
fy);
void EVP_set_pw_prompt(char *prompt);
char * EVP_get_pw_prompt(void);
【EVP_read_pw_string】
该函数从标准输入终端读入一个口令数据,其中,读入的参数保存在buf里面,参数
的长度保存在length里面。prompt参数里面保存的是输出到显示终端的提示语句;如果
verify参数设置为1,那么口令就会被要求输入两次,如果两次输入相同,才会成功返回
0,否则就会返回错误1,返回-1表示发生了系统错误。
值得注意的是,由于历史原因,在openssl里面,该函数的核心代码是在DES算法里
面实现的,所以如果将DES算法禁止了,该函数的调用也会失败。
【EVP_set_pw_prompt】
该函数设置在调用EVP_read_pw_string函数的时候缺省的prompt参数的值,也就是
说如果调用EVP_read_pw_string函数的时候prompt参数为NULL,那就会使用本函数设置
的缺省的值。需要注意的是,本函数设置的缺省值其实是保存在一个静态的数组变量里
面,所以如果在Win16平台使用的时候,可能会出现莫名其妙的现象;在使用多线程程序
的时候也必须小心。
【EVP_get_pw_prompt】
该函数返回一个指向缺省prompt字符串(一个静态变量)的指针,如果该参数没有
设置,那么就返回NULL。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/43147/showart_499271.html |
|