Chinaunix首页 | 论坛 | 博客
  • 博客访问: 50067
  • 博文数量: 21
  • 博客积分: 1643
  • 博客等级: 上尉
  • 技术积分: 220
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-12 22:15
个人简介

读书笔记而已。

文章分类
文章存档

2008年(10)

2007年(11)

我的朋友
最近访客

分类: LINUX

2008-03-18 19:48:04

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。
Openssl中用于base64编解码的函数主要有:

1  编码函数

Ø         EVP_EncodeInit

                     编码前初始化上下文。

Ø         EVP_EncodeUpdate

                     进行BASE64编码,本函数可多次调用。

Ø         EVP_EncodeFinal

                     进行BASE64编码,并输出结果。

Ø         EVP_EncodeBlock

              进行BASE64编码。

2  解码函数

Ø         EVP_DecodeInit

解码前初始化上下文。

Ø         EVP_DecodeUpdate

BASE64解码,本函数可多次调用。

Ø         EVP_DecodeFinal

BASE64解码,并输出结果。

Ø         EVP_DecodeBlock

BASE64解码,可单独调用。


阅读(1465) | 评论(0) | 转发(0) |
0

上一篇:爷俩去买鞋(转)

下一篇:士兵突击语录

给主人留下些什么吧!~~