这里以字符串123456为例子,它的md5密文值为:e10adc3949ba59abbe56e057f20f883e
  这里以1.txt为需要被加密的文件。

  一、 用oppnssl md5 加密字符串和文件的方法。
  1. oppnssl md5 加密字符串的方法
  a.手动输入命令及过程如下:
  #openssl //在终端中输入openssl后回车。
  OpenSSL> md5 //输入md5后回车
  123456 //接着输入123456,不要输入回车。然后按3次ctrl+d。
  123456e10adc3949ba59abbe56e057f20f883e //123456后面的就是密文了
  解释:为何在输入123456后不回车呢?
  是因为openssl默认会把回车符当做要加密的字符串中的一个字符,所以得到的结果不同。如果你输入123456后回车,在按2次ctrl+d。得到的结果是:
  OpenSSL> md5
  123456
  f447b20a7fcbf53a5d5be013ea0b15af //因为openssl不忽略回车符导致的
  b.或者直接用管道命令
  # echo -n 123456 | openssl md5 //必须要有-n参数,否则就不是这个结果了。
  e10adc3949ba59abbe56e057f20f883e
  解释:为何要加-n这个参数?
  -n就表示不输入回车符,这样才能得到正确的结果。如果你不加-n,那么结果和前面说的一样为:
  f447b20a7fcbf53a5d5be013ea0b15af //因为openssl不忽略回车符导致的
  2.用openssl加密文件。
  #openssl md 5 -in 1.txt
  
  ##################################################3
  Openssl其他相关加密的命令参数:引自:实用命令:利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密 收藏
  一. 利用openssl命令进行BASE64编码解码(base64 encode/decode)
  1. BASE64编码命令
  对字符串‘abc’进行base64编码:
  # echo abc | openssl base64
  YWJjCg== (编码结果)
  如果对一个文件进行base64编码(文件名t.txt):
  # openssl base64 -in t.txt
  2. BASE64解码命令
  求base64后的字符串‘YWJjCg==’的原文:
  # echo YWJjCg== | openssl base64 -d
  abc (解码结果)
  如果对一个文件进行base64解码(文件名t.base64):
  # openssl base64 -d -in t.base64
  二. 利用openssl命令进行md5/sha1摘要(digest)
  1. 对字符串‘abc’进行md5摘要计算:echo abc | openssl md5
  若对某文件进行md5摘要计算:openssl md5 -in t.txt
  2. 对字符串‘abc’进行sha1摘要计算:echo abc | openssl sha1
  若对某文件进行sha1摘要计算:openssl sha1 -in t.txt
  三. 利用openssl命令进行AES/DES3加密解密(AES/DES3 encrypt/decrypt)
  对字符串‘abc’进行aes加密,使用密钥123,输出结果以base64编码格式给出:
  # echo abc | openssl aes-128-cbc -k 123 -base64
  U2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g= (结果)
  对以上结果进行解密处理:
  # echo U2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g= | openssl aes-128-cbc -d -k 123 -base64
  abc (结果)
  若要从文件里取原文(密文)进行加密(解密),只要指定 -in 参数指向文件名就可以了。
  进行des3加解密,只要把命令中的aes-128-cbc换成des3就可以了。
  注:只要利用openssl help就可以看到更多的安全算法了。
  ###############################################
  
  二、 利用php的md5函数加密字符串
  #touch a.php //创建a.php文件
  #vi a.php //用vi 编辑a.php文件
  将<?php echo md5(123456); ?>输入进去后保存
  #php a.php //运行a.php文件
  显示:e10adc3949ba59abbe56e057f20f883e
  三、 利用md5sum命令
  A.在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。可以用下面的命令来获取md5sum命令帮助 man md5sum
  #md5sum –help
  有个提示:“With no FILE, or when FILE is -, read standard input.”翻译过来就是“如果没有输入文件选项或者文件选项为 - ,则从标砖读取输入内容”,即可以直接从键盘读取字符串来加密。
  利用md5sum加密字符串的方法
  # md5sum //然后回车
  123456 //输入123456.然后按两次ctrl+d.
  显示:
  123456e10adc3949ba59abbe56e057f20f883e 红色代表加密后的值
  还可以用管道命令:
  #echo -n '123123' | md5sum
  
  或者写成md5加密脚本,名字叫md5.sh,
  将以下内容复制进脚本里:
  #!/bin/bash
  echo -n $1 | md5sum | awk '{print $1}'
  
  保存后,给脚本执行权限。
  #sh md5.sh 123456
  显示:e10adc3949ba59abbe56e057f20f883e
  B.其实也可以将文本放入文本文件,然后用md5sum 加密改文本,也可以得到字符串加密的值。过程如下:
  #touch a.txt
  #echo -n 123456 > a.txt //将123456写进文本文件,不能丢了 –n参数,避免回车符干扰
  #md5sum a.txt
  显示:e10adc3949ba59abbe56e057f20f883e a.txt
  
  ctrl+d有两个含义:
  一是向程序发送文件输入结束符EOF。
  二是向程序发送exit退出指令。程序收到信号后具体动作是结束输入、然后等待,还是直接退出,那就要看该程序捕获信号后是如何操作的了。
  md5sum属于第一个含义。两次strl+d了,第一次读取EOF指令,再次捕获就会当成exit指令。而shell一类的程序,会直接把ctrl+d解析为退出指令。

Linux下使用MD5加密BASE64加密的更多相关文章

  1. python的md5和base64加密

    在用jmeter测试接口时,有的请求参数会加密,例如,回流接口:http://ip:port/oms-gateway-datareflow-mq/orderReflow/tmsPracticeActi ...

  2. Js中 md5 sha1 base64 加密

    js的3中加密方式: .sha1加密,加密性高 调用: var sha = hex_sha1(str); .base64加密 调用: var b = new Base64(); var str = b ...

  3. md5和base64加密解密

    import java.io.IOException; import java.security.MessageDigest; import sun.misc.BASE64Encoder; impor ...

  4. ruby md5 sha1 base64加密

    #md5加密 require 'md5' puts MD5.hexdigest('admin') #sha1加密 require 'digest/sha1' puts Digest::SHA1.hex ...

  5. vue项目用sha256、md5、base64加密密码

    无论你开发什么样的项目,你可能都会要开发登录.注册.修改密码.忘记密码这些功能,少数项目除外!!要实现这些功能,对于保护用户或者管理员账号密码,这是我们程序员肯定要做的事情.要是用户密码不加密,用明文 ...

  6. linux下使用openssl和md5sum加密文件或者字符串

    #openssl    //在终端中输入openssl后回车. OpenSSL> md5    //输入md5后回车 123456    //接着输入123456,不要输入回车.然后按3次ctr ...

  7. linux 下部署 redis

    Redis是一种高级key-value数据库.它跟memcached类似,不过数据 可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服务器端计算集合的并,交和补集(dif ...

  8. Windows下计算md5值

    目录 Windows下计算md5值 1.linux 下计算md5值 2.Windows下计算md5值 Windows下计算md5值 1.linux 下计算md5值 [root@master yl]# ...

  9. Linux下对字符串进行MD5加密

    Linux下对字符串进行MD5加密 比如要用MD5在linux下加密字符串“test",可以使用命令:$ echo -n test|md5sum098f6bcd4621d373cade4e8 ...

随机推荐

  1. Mysql官方文档翻译系列14.18--MySql备份与恢复

    原文链接: (https://dev.mysql.com/doc/refman/5.7/en/innodb-backup-recovery.html) The key to safe database ...

  2. servlet filter中使用autowired无法注入

    问题: 我们为了避免未经授权的人直接通过url访问我们的页面,配置了如下filter <!-- 登录过滤器 --> <filter> <filter-name>se ...

  3. "共振式”项目管理

    "共振式”项目管理--是我第一个提出的吗?:) 脑子里突然想到项目管理的一些事情,然后想到项目其实是有节奏的,项目中的人员其实如果找到了这个节奏,踏准了节奏,一切将是顺风顺水. 刚准备动笔时 ...

  4. .NET面试资料整理

    1.WCF和Web Api的区别答:1WCF是.NET平台开发的一站式框架,Web Api的设计和构建只考虑一件事情,那就是Http,而WCF的设计主要考虑是SOAP和WS-*:Web Api非常轻量 ...

  5. ORACLE 行转列 案例解析

    -- 创建 国家城市信息 临时表                  WITH T_NATION_CITY_INFO AS(        SELECT '北京'   AS CITY,'中国' AS N ...

  6. HtmlUnit入门二

    由于在在WebClient中,默认支持对CSS,JavaScript的解析,因此会总是会出现很多错误信息,并且执行速度也很慢. 因此,我们可以选择关闭掉WebClient对CSS,JavaScript ...

  7. [Codeforces 505C]Mr. Kitayuta, the Treasure Hunter

    Description The Shuseki Islands are an archipelago of 30001 small islands in the Yutampo Sea. The is ...

  8. [HNOI2001]软件开发

    题目描述 某软件公司正在规划一项n天的软件开发计划,根据开发计划第i天需要ni个软件开发人员,为了提高软件开发人员的效率,公司给软件人员提供了很多的 服务,其中一项服务就是要为每个开发人员每天提供一块 ...

  9. hdu 2243 考研路茫茫——单词情结(AC自动+矩阵)

    考研路茫茫——单词情结 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  10. hdu 5489(LIS最长上升子序列)

    题意:一个含有n个元素的数组,删去k个连续数后,最长上升子序列        /*思路参考GoZy 思路: 4 2 3 [5 7 8] 9 11 ,括号表示要删掉的数, 所以  最长上升子序列  = ...