oc php 对称加密,Openssl 之 对称加密、单向加密笔记

一、介绍

enc - 对称加密例程,使用对称密钥对数据进行加解密,特点是速度快,能对大量数据进行处理。算法有流算法和分组加密算法,流算法是逐字节加密,数据经典算法,但由于其容易被破译,现在已很少使用;分组加密算法是将数据分成固定大小的组里,然后逐组进行加密,比较广为人知的是DES3。分组算法中又有ECB,CBC,CFB,OFB,CTR等工作模式,其中默认选CBC工作模式。

二、语法格式

openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d]

[-a/-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt]

[-salt] [-nosalt] [-z] [-md] [-p] [-P] [-bufsize number] [-nopad] [-debug] [-none]

[-engine id]

三、选项说明

-in filename

要加密/解密的输入文件,缺省为标准输入。

-out filename

要加密/解密的输出文件,缺省为标准输出。

-pass arg

输入文件如果有密码保护,在这里输入密码。

-salt

加盐,这是开启的默认选项,使用-nosalt已明确关闭此选项,除非为了兼容性的考虑,否则在新程序中请使用此选项。这是一个神奇的选项,加盐后,相同的明文可以得到不同的密文。默认情况下,盐值是随机生成的,可以使用-S选项明确指定盐值。

有了盐值后,相同的明文可以产生不同的密文并在密文中包含了盐值

-nosalt

和salt对应不加盐

-e

加密  一个缺省会set的option, 把输入数据加密。

-d

解密输入数据。

-a

用base64编码处理数据。set了这个option表示在加密之后的数据还要用  base64编码捏一次,解密之前则先用base64编码解码。

-k password

一个过时了的项,为了和以前版本兼容。现在用-key代替了。

-kfile filename

同上,被passin代替。

-K key

以16进制表示的密码。

-iv IV

作用完全同上。

-p

打印出使用的密码。

-P

作用同上,但打印完之后马上退出。

-bufsize number

设置I/O操作的缓冲区大小

- debug

打印调试信息。

更多参数信息请参考:# openssl enc --help

例:使用openssl对/etc/fstab进行加密

加密前:

加密:

加密后文件

解密:

解密后

**********笔记***********************************************

对称加密:加密和解密使用同一个密钥

依赖于:算法和密钥

安全性依赖于密钥,而非算法

常见算法:

DES:Data Encryption standard,56bits (IBM研究员研发出来的)【使用56位秘钥】

3DES:重新设计的另一种算法 不同于DES

AES:Advanced Encrpytion Standard 【秘钥有多重变化 128bits,192,256,512】

(AES 可变化的 可自动选择长度) 【目前常用】

Blowfish:

Twofish:

IDEA:商业

RC6

CAST5

特性:

1、加密、解密使用同一密钥

2、将明文分割成固定大小的块,逐个进行加密;

缺陷:

1、密钥过多:

2、密钥分发

********************************************************

》》》》》》》》》》扩展 :单向加密《《《《《《《《《《《《《《《

单向加密:

主要用途:提取数据特征码

算法:md5, sha1

工具:openssl dgst, md5sum, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum

# openssl dgst -CIPHER /PATH/TO/SOMEFILE...

MAC: 消息认证码,单向加密的一种延伸应用,用于实现在网络通信中保证所传输的数据的完整性;

机制:

CBC-MAC

HMAC:使用md5或sha1算法

生成用户密码:

# openssl passwd -1 -salt 8bits随机数

生成随机数:

# openssl rand -hex|-base64 NUM

http://www.cnblogs.com/AloneSword/p/3481126.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值