sha1、md5、base64

mac

$ echo -n foo|shasum
0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33 -
$ echo -n foo|shasum -a
2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae -
$ echo -n foo|openssl dgst -sha1
0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33
$ echo -n foo|openssl dgst -sha256
2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae
$ echo -n foo|md5
acbd18db4cc2f85cedef654fccc4a4d8
$ md5 -s foo
MD5 ("foo") = acbd18db4cc2f85cedef654fccc4a4d8
$ echo -n foo|openssl dgst -md5
acbd18db4cc2f85cedef654fccc4a4d8
$ echo -n foo|base64
Zm9v
$ echo Zm9v|base64 -D;echo
foo
$ echo -n foo|openssl enc -base64
Zm9v
$ echo Zm9v|openssl enc -base64 -d;echo
foo
$ echo -n foo|openssl dgst -md5 -binary|openssl enc -base64
rL0Y20zC+Fzt72VPzMSk2A==

openssl命令可以简单写:

openssl sha1
openssl sha -sha256
openssl md5
openssl base64
openssl base64 -d

linux

# echo -n foo|shasum
0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33 -
# echo -n foo|shasum -a
2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae -
# echo -n foo|openssl dgst -sha1
(stdin)= 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33
# echo -n foo|openssl dgst -sha256
(stdin)= 2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae
# echo -n foo|md5sum
acbd18db4cc2f85cedef654fccc4a4d8 -
# echo -n foo|openssl dgst -md5
(stdin)= acbd18db4cc2f85cedef654fccc4a4d8
# echo -n foo|base64
Zm9v
# echo Zm9v|base64 -d;echo
foo
# echo -n foo|openssl enc -base64
Zm9v
# echo Zm9v|openssl enc -base64 -d;echo
foo
# echo -n foo|openssl dgst -md5 -binary|openssl enc -base64
rL0Y20zC+Fzt72VPzMSk2A==

openssl命令可以简单写:

openssl sha1
openssl sha256
openssl sha sha256
openssl md5
openssl base64
openssl base64 -d

urlencode/urldecode[1]

$ alias urldecode='python -c "import sys, urllib as ul; \
print ul.unquote_plus(sys.argv[])"' $ alias urlencode='python -c "import sys, urllib as ul; \
print ul.quote_plus(sys.argv[])"' $ urlencode 'lalala啦啦啦'
lalala%E5%%A6%E5%%A6%E5%%A6 $ urldecode 'alala%E5%95%A6%E5%95%A6%E5%95%A6'
alala啦啦啦

可以将alias个语句放到.bashrc或者其他shell的启动rc文件里(如:.zshrc),用source载入。

已安装的shell和当前shell:

$ cat /etc/shells
# List of acceptable shells for chpass().
# Ftpd will not allow users to connect who are not using
# one of these shells. /bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh $ echo $
-/bin/zsh
$ echo $SHELL
/bin/zsh
$ env|grep SHELL
SHELL=/bin/zsh

引用:

[1] Decoding URL encoding (percent encoding)

终端命令对字符串进行sha1、md5、base64、urlencode/urldecode的更多相关文章

  1. linux shell 命令获取字符串/文件的MD5值

    获取字符串的MD5值: 字符串“hello”的MD5: $ echo -n 'hello'|md5sum|cut -d ' ' -f1 得到的MD5值: 5d41402abc4b2a76b9719d9 ...

  2. Java 对字符串数据进行MD5/SHA1哈希散列运算

    Java对字符串数据进行MD5/SHA1哈希散列运算 [java] view plain copy package cn.aibo.test; import java.security.Message ...

  3. 一条命令,秒秒钟完成MD5、SHA1校验,这就叫效率!

    相信很多奋斗在运维战线的小伙伴们经常会遇到版本升级之类的问题.笔者之前所在的公司每次进行版本发布的时候都会附带MD5校验哈希值,每次升级之前一般都要核对MD5哈希值的,刚刚开始的时候对Linux并不是 ...

  4. 作为前端Web开发者,这12个终端命令不可不会

    对于开发人员来说,终端是最重要的工具之一.掌握终端,能够有效的提升开发人员的工作流程.使用终端,许多日常任务都被简化为了编写简单的命令并按下 Enter 按钮. 本文列举了一系列 Linux 命令,旨 ...

  5. linux学习:特殊符号,数学运算,图像与数组与部分终端命令用法整理

    指令:let.expr.array.convert.tput.date.read.md5.ln.apt.系统信息 一:特殊符号用法整理 系统变量 $# 是传给脚本的参数个数 $0 是脚本本身的名字 $ ...

  6. FreeSwitch 终端命令详细介绍

    FreeSwitch版本:1.6.9 以下为部分终端命令 alias 语法: alias [add|stickyadd] <alias> <command> | del [&l ...

  7. 【Java提高】---通过UUID、SHA-1、Base64组合加密

    通过UUID.SHA-1.Base64组合加密 该篇文章实现的最终效果是: 1)加密是不可逆的. 2)相同字符串加密产生后的字符串都不一样 3)所以要想比较两个字符串是否相等,需要用已经加过密的字符串 ...

  8. mac 终端 常用命令,MacOS 常用终端命令大全,mac 在当前目录打开终端

    MacOS 常用终端命令大全:目录操作dircmp——比较两个目录的内容——dircmp dir1 dir2文件操作pg分页格式化显示文件内容——pg filenameod——显示非文本文件的内容—— ...

  9. python通过sha1和base64生成签名

    一.python生成时间戳 # 案例 生成时间戳 import time t = time.time() print(t) # 原始时间数据 print(int(t)) # 秒级时间戳 print(i ...

随机推荐

  1. javascript实例:路由的跳转

    <!doctype html> <html lang="en"> <body> <a href="#/home"> ...

  2. ORACLE中RECORD、VARRAY、TABLE的使用具体解释

     1     说明 1.1       RECORD 定义记录数据类型. 它类似于C语言中的结构数据类型(STRUCTURE).PL/SQL提供了将几个相关的.分离的.基本数据类型的变量组成一个总 ...

  3. 剑指offer 面试43题

    面试43题: 题目:1~n整数中1出现的次数 题:输入一个整数n,求1~n这n个整数的十进制表示中1出现的次数.例如,输入12,1~12这些整数中包含1的数字有1,10,11,12一共出现了5次. 解 ...

  4. Amend Last Commit选项使用注意点

    1.创建master分支并上传到remote分支 create 2 folders and 4 files 2.修改folder1/file1.java,commit并push. 3.修改folder ...

  5. linux中获取系统时间的几种方法

    asctime(将时间和日期以字符串格式表示) 相关函数 time,ctime,gmtime,localtime 表头文件 #include<time.h> 定义函数 char * asc ...

  6. HDF 文件数据的读取

    http://www.cams.cma.gov.cn/cams_973/cheres_docs/cheres_doc_sat.modis.1b.html一. HDF文件格式 1.概述 HDF 是美国国 ...

  7. SOA和微服务之间的区别

    近几年,我们有很多文章对SOA和微服务之间的不同点和相似点进行了分析.有些人认为SOA有很多地方是值得微服务学习的,而有些人则认为区别对待微服务和SOA会更好.而Neal Ford认为,将单体迁移到面 ...

  8. curl操作封装

    <?php /** * Class Curl curl简单封装 get post */ class Curl { /** * @brief get请求 * @param $url 请求的url ...

  9. Linux脚本程序包及安装

    概述 脚本程序并不多见,所以在软件包分类中并没有把它列为一类.它更加类似于 Windows 下的程序安装,有一个可执行的安装程序,只要运行安装程序,然后进行简单的功能定制选择(比如指定安装目录等),就 ...

  10. 【HackerRank】Coin on the Table

    题目链接:Coin on the Table 一开始想用DFS做的,做了好久都超时. 看了题解才明白要用动态规划. 设置一个三维数组dp,其中dp[i][j][k]表示在时间k到达(i,j)所需要做的 ...