2.8加密工具与散列

1、crypt是一个简单的加密工具,它从stdin接受一个文件以及口令作为输入,然后将加密数据输出到stdout(因此要对输入、输出文件使用重定向)。

eg:$ crypt  < input_file > output_file

  Enter passphrase:

它会要求输入一个口令。可以通过命令行参数来提供口令。

eg:$ crypt PASSPHRASE <input_file >encrypted_file

如果需要解密文件,可以使用:

$crypt PASSPHRASE -d < encrypted_file >output_file

2、gpg(GNU隐私保护)是一种应用广泛的工具,它使用加密技术来保护文件,以确保数据在送达目的地之前无法被读取。注意:gpg签名同样广泛用于在电子邮件通信中的邮件“签名”,以证明发送方的真实性。

用gpg加密文件

eg:$ gpg -c filename

该命令采用交互方式读取口令,并生成filename.gpg.使用以下命令解密gpg文件:

$ gpg filename.gpg

该命令读取口令,然后对文件进行解密。

3、Base64是一组相似的编码方案,它将ASCII字符转换成以64为基数的形式,以可读的ASCII字符串来描述二进制数据。base64命令可以用来编码/解码Base64字符串。要将文件编码为Base64格式,使用:

eg:$ base64 filename > outputfile

或者

$cat file | base64 >outputfile

base64可以从stdin中进行读取。

解码Base64数据:

$base64 -d file > outputifile

或者

$cat base64_file | base64 -d > outputfile

4、md5sum与sha1sum都是单向散列算法,均无法逆推出原始数据。他们通常用于验证数据完整性或为特定数据生成唯一的密钥:

eg:$ md5sum file

$sha1sum file

这种类型的散列算法是存储密码的理想方案。密码使用其对应的散列值来存储。如果某个用户需要进行认证,读取该用户提供的密码并转换成散列值,然后将其与之前的存储的散列值进行对比。

注意:md5sum和SHA-1已不再安全,这是由于计算能力的攀升,推荐使用bcrypt或sha512sum这类工具进行加密。

5、shadow-like散列(salt散列)

在Linux中,用户密码是以散列值形式存储在文件/etc/shadow中的,该文件中的散列值是以"."的形式连接的。下面使用openssl生成shadow密码:

shadow密码通常都是salt密码。所谓的SALT就是额外的一个字符串,用来起一个混淆的作用,使加密更加不易被破解。salt由一些随机位组成,被用作密钥生成函数的输入之一,以生成密码的salt散列值。

eg:$ openssl passwd -1 -salt SALT_STRING PASSWD

$1$SALT_STRING$323VkWkSLHuhbt1zkSsUG.

将SALT_STRING替换为随机字符串,并将PASSWORD替换成自己的密码。

 

转载于:https://www.cnblogs.com/gary-guo/p/6168979.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值