 |
|
 |
| 您现在的位置: 先创网 >> 网络应用 >> 网络安全 >> 文章正文 |
|
|
| 黑客眼中OpenSSL:强大的密码工具 |
| 51CTO |
| 2008-5-16 8:40:00文/Anthony J. Stieber/黄永兵译 |
|
|
|
|
|
二进制文件保护
二进制文件典型地用于使用MIME的电子邮件,如果你的电子邮件软件不支持MIME,如大多数命令行电子邮件客户端,你将被uuencode困扰,你可以使用基于64位编码的OpenSSL,复杂的MIME协议也使用的是64位编码,但是它不能直接兼容MIME。
要使用64位编码打包二进制文件成文本文件,输入:
$ openssl base64 < filename.bin > filename.txt
要打开64位编码的文本文件,输入:
$ openssl base64 -d < filename.txt > filename.bin
注意OpenSSL不会关心文件扩展名。
OpenSSL与GnuPG或MIME不一样,它还能对短字符串进行编码,如下:
$ echo "The Linux Journal" openssl base64
VGhlIExpbnV4IepvdXJuYWwK
解码:
$ echo "VGhlIExpbnV4IEpvdXJuYWwK" openssl base64 -d
The Linux Journal
注意-d选项,它意味着解码。
更好的校验和
sum和cksum是传统的UNIX校验程序,它们工作得很好,只要你不需要跨平台兼容或安全,你也不用担忧会出现2个完全不同的文件有相同的校验和值。
尽管Linux系统经常安装了md5sum,MD5算法遭受了一个相对较新的漏洞,现在不应该使用它。如果它已经安装了,应该使用更安全的sha1sum,但是,一些版本只能同时对一个文件进行打乱,一些不能处理标准输入或者有其他的不足,如果你运行这些程序遇到了问题或者你想有一致的、比较知名的、具有良好跨平台的软件,建议考虑OpenSSL。
OpenSSL打乱输出格式与GnuPG有一点不同,但是数字是相同的,OpenSSL格式总是要鉴定使用的算法,并总是输出一个小写的无空白的十六进制的字符串,你会发现这种格式更容易使用。
这里有一些例子:
$ openssl sha1 filename
SHA1(filename)= e83a42b9bc8431a6645099be50b6341a35d3dceb
$ openssl md5 filename
MD5(filename)= 26e9855f8ad6a5906fea121283c729c4
在我早前的文章“GnuPG Hacks”中,上面的例子使用了一个包括字符串“The Linux Journal”的文件,注意这个字符串没有句号。
如果你复杂这些结果时遇到了问题,这里提供一个带ASCII注释的十六进制的表示,注意新行末尾是vi自动加上去的(图1):

OpenSSL与GnuPG不一样,它没有SHA-512加密算法,但是OpenSSL有MD2,MD4,MDC2,这些都是旧的算法了,只是为了保持向后兼容,和MD5一样,现在它们都不应该拿来使用。
上一页 [1] [2] [3] [4] [5] 下一页 |
|
|
|
|
|
|
 |
|
 |
|
|
|