linux 对称加密命令,17_Linux基础知识及命令————Linux 的加密机制

首先查看 /etc/shadow文件,来观察加密后的密码结构:

c1a86d84cdbc2909eb56b388dee4d19c.png

$加密方法$8位随机数$加密后的密码串

不同的加密方法决定了加密后的密码串的特性,使用以下命令查看可用的加密方法:

# man 3 crpt

81a87f61895bc746888c09299d308141.png

目前使用的加密方式主要有以下几类:

1.对称加密

使用对称加密,加密和解密都使用同一个密钥,其特点是速度快,常用的方式为:3DES(Data Encrypt Standard),该方法采用56位密钥,其中3表示运行三轮;AES(Advanced Encrypt Standard),采用变长密钥。

对称加密的缺陷在于密钥的管理及分发比较困难。

2.公钥加密

公钥加密也叫非对称加密,即采用 私钥/公钥 (S/P)--> (security/public)的加密方。其中私钥加密的文件只能用与之对应的公钥解密,反之亦然。但是公钥可以从私钥中提取出来,因此有私钥,则可以推测出公钥;反之则不行。

公钥加密的特点是加密速度慢,但是安全性高。它通常用于密钥的分发,主要采用的算法有RSA和DSA。

3.单向加密

单向加密只能加密,不能解密。它是hash算法的一种。主要用于提取数据的特征码,其特征为:

a)无论是输入多大的数据,其输出是定长的。

b)如果输入的数据一样,结果必然一样,反之,输入的数据有微小的改变,将引起输出的巨大变化,通常称为“蝴蝶效应”和“雪崩效应”。单向加密这些特征可以避免加密串被反向推断。

例如我们可以进行以下操作来演示微小的改变采用单向加密后,会引起结果的巨大变化:

# cp /var/log/messages ./

# md5sum messages            // 采用md5的方式为文件messages加密

# nano messages               // 在messages中的增加一个字母

# md5sum messages        // 再次对文件messages加密以观察输出结果

fd27ae51dfc0a6a5e7aa4a74780392b0.png

单向加密采用的算法有如下几种:

md5 (Message Digest):        输出定长为128bit的加密串

SHA (Secure Hash Algorithm):

sha1:输出定长为160bits的加密串

sha-256: 256bits:输出定长为256bits的加密串

sha-512: 512bits:输出定长为512bits的加密串

根据单向加密的特性——只能加密不能解密,因此在验证密码是否正确时,采用的做法是再次对数据进行加密,如果加密结果一致,则密码正确。

这样的加密方式会产生一个安全隐患,即两个人用了相同的密码,则可能产生相同的加密串。

为了避免这样的情况出现,需要引入一个新的机制:salt(盐),即8位随机数。具体的操作是每次加密时,都添加8位的随机数,由于“蝴蝶效应”/“雪崩效应”的存在,8位随机数可以使密码串产生巨大的变化。

例如我们可以为用户hbase和redis都设定相同的密码123,来比较二者的加密结果:

# tail /etc/shadow

# passwd mongodb

# passwd redis

# tail /etc/shadow

0b5284a8650a960198e7c1db90afd9c9.png

上述例子我们可以看到8位随机数在单向加密中的作用。事实上,我们可以自行指定salt,如果两个密码8位随机数相同,密码也相同,则加密串会完全一致。例如为文件messages加密时指定随机数:

# openssl passwd -1 -salt 12345678 messages

# openssl passwd -1 -salt 12345678 messages

# openssl passwd -1 -salt 12345698 messages

此例子可以看出随机数设定一致,则加密串一致,随机数细微改变,可以完全改变加密串的结果。

956cd0391bc4f5a66906e714af7ef66f.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值