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

2.8加密工具与散列相关推荐

  1. 消息认证之SHA散列算法族

    消息认证--安全散列算法SHA(Secure Hash Algorithm) 一. 消息认证 对要传递的消息进行加密有两个目的,其一是防止消息被消息发送者和消息接收者之外的第三者窃听(被动攻击),在之 ...

  2. 基础入门-算法逆向散列对称非对称JS源码逆向AESDESRSASHA

    文章目录 安全测试中: 加密解密-识别特征&解密条件 其他密文特点见: 解密实例-密文存储&数据传输 课件附加资源百度云 安全测试中: 密文-有源码直接看源码分析算法(后端必须要有源码 ...

  3. 在线字符串哈希/散列加密工具

    在线字符串哈希/散列工具 在线字符串哈希/散列工 本工具可以获取多种散列方式的哈希值,如MD5,SHA1,SHA224,SHA256,SHA384,SHA512,HmacMD5,HmacSHA1等,基 ...

  4. 数字签名、数字证书、对称加密算法、非对称加密算法、单向加密(散列算法)...

    2019独角兽企业重金招聘Python工程师标准>>> 数字签名是什么? 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥. 2. 鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊-- ...

  5. 数字签名、数字证书、对称加密算法、非对称加密算法、单向加密(散列算法)

    数字签名是什么? 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥. 2. 鲍勃把公钥送给他的朋友们--帕蒂.道格.苏珊--每人一把. 3. 苏珊给鲍勃写信,写完后用鲍勃的公钥加密,达到保密的效果. 4 ...

  6. shiro认证+授权(使用MD5+salt+散列加密)

    通过上文自定义realm分析源码可得https://blog.csdn.net/Kevinnsm/article/details/11183124 用户认证在doGetAuthenticationIn ...

  7. 数字签名、数字证书、对称加密算法、非对称加密算法、单向加密(散列算法)——Web网络系列学习笔记

    数字签名是什么? 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥. 2. 鲍勃把公钥送给他的朋友们--帕蒂.道格.苏珊--每人一把. 3. 苏珊给鲍勃写信,写完后用鲍勃的公钥加密,达到保密的效果. 4 ...

  8. Java实现密码学工具,集成了对称加密算法DES,AES,IDEA,公开加密算法RSA,ECC,散列算法MD5,SHA1,CRC32,以及RSA,DSA,ECDSA数字签名验证示例。

    密码学综合工具 前言 git网址 项目结构 项目预览 String与byte[]互转 通过`String`类转换 通过`Base64`互转[jdk-8] 前言 我们网络信息安全的实验...要我们找各种 ...

  9. 文本的DES加密 MD5散列值 DSA的数字签名

    作者:未知 文本的DES加密 为了对称加密的安全,将密码进行封装,先新建一个用于保存密码的类库cl: using System; using System.Text ; namespace cl { ...

最新文章

  1. Android Studio 第四十九期 - Sqlite数据库四种写法
  2. python argparse中action 的可选参数store_true
  3. TMD 这个写笔记的号,盗了有意思吗
  4. 冲刺阶段——Day5
  5. html-edm(邮件营销)编写规则
  6. ajax读取评论数据,评论提交使用ajax提交实现
  7. mybatis一对一联表查询的两种常见方式
  8. 华为表示年内没有推出搭载鸿蒙操作系统手机的计划;OpenStack或被抛弃?iPhone至少还要三年可苹果自研5G调制解调器……...
  9. VB案例:泸职院教师评学评价表计算程序
  10. javascript中闭包的真正作用
  11. 硬核干货来啦:Js数组去重,赶快收藏吧
  12. CentOS 6.x通过yum安装php7.1及相关环境
  13. ArcMap中无法添加ArcGIS Online底图的诊断方法
  14. 知乎APP---案例分析
  15. 大二第六周(逐渐暴躁的一周)
  16. 东北大学软件项目管理与过程改进复习提纲(2020)——第三章
  17. Linux CRDA(Central Regulatory Domain Agent)简介
  18. ubuntu 黑体_Ubuntu 黑体解决方案
  19. 积木开发系列----Blockly初体验
  20. python的math库函数汇总

热门文章

  1. Adobe Premiere Elements 2021中文版
  2. PDF转换图片,图片的切割,图片转换PDF以及PDF加水印等记录贴
  3. JS 时间转化为几分钟前 几小时前 几天前
  4. swap的实现(没有中间变量)
  5. HMM、MEMM、CRF模型比较和标注偏置问题(Label Bias Problem)
  6. FireMonkey 导出目前 Style 另存文件
  7. Android环境下通过C框架层控制WIFI【转】
  8. 重磅 |“金砖”电商报告:5年后金砖五国网络零售将超3万亿美元
  9. DJango操作MySQL数据库
  10. 憋不住的心里的一个想法,JVM的BYTECODE是完全平台无关的么?