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. Mysql常用优化方案

    摘自:http://www.jb51.net/article/18934.htm 1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也 ...

  2. Hosts文件的位置

    Operating System Version(s) Location Unix, Unix-like, POSIX   /etc/hosts Microsoft Windows 3.1 %WinD ...

  3. Django 之 URL(路由)分发机制

    本质 (1):它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表. django-admin.py startproject 运行时,该脚本会自动为你建了一份 URLconf( ...

  4. vue增删改查

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. tfboys——tensorflow模块学习(二)

    tf.contrib模块 tf.contrib 模块是一个比较复杂的模块. contrib细节: tf.contrib.bayesflow.entropy  香农信息论 tf.contrib.baye ...

  6. Java基础—复用类

    复用代码是Java众多引人注目的功能之一. 一般而言,实现代码重用java提供了两种方式:组合以及继承. 组合:新的类由现有类的对象所组成.(复用现有代码的功能,而非它的形式) 继承:按照现有类的类型 ...

  7. SMW0 上传问题?

    *SMW0 和 OAOR 的区别在哪3个方面? SMW0 上传 出现: 没有指派至MIME 类型

  8. EXCEL 从网页复制的内容 单/多选框 在EXCEL删不掉 及 2007添加开发工具选项卡

    从网页复制到Excel中的单选.多选框等,有时候删除时怎么都删不掉,很是恶心.这时候需要使用“开发工具”来删除.它是设计模式下的一种组件或者说控件. Excel 2007 的可以用下图方式按delet ...

  9. CSS清除浮动使父级元素展开的三个方法

    点评:一个没有设置高度的容器div内如果存在浮动元素(即使用了属性float:left或者float:right),那么该父级元素会无法展开,下面举个例子为大家详细介绍下,希望对大家有所帮助 一个没有 ...

  10. ZOJ 3958 Cooking Competition 【水】

    题目链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3958 AC代码 #include <cstdio> ...