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. selenium 下载文件设置下载路径

    Chrome 文件下载 Chrome浏览器类似,设置其options: download.default_directory:设置下载路径 profile.default_content_settin ...

  2. Activiti 5.16 流程图高亮追踪 中文乱码问题解决方法

    最近研究activiti的高亮流程图,发现中文是乱码,为了让大家少走弯路共享出来. 本文包含三个主要技术点: 1.spring MVC架构下输出动态图片 2.获得activiti流程图的stream流 ...

  3. 剑指offer 面试43题

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

  4. socket()模块和套接字对象的内建方法

    一.socket()模块函数 要使用socket.socket()函数来创建套接字,其语法如下: socket(socket_family,socket_type,protocol=0) 如上所述,s ...

  5. loadrunder之脚本篇——接口传参为本地文件

    导言 前几天需要对公司一个专门很重要的接口进行压测,这个还不是重点,重点是传参为本地的图片!刚刚开始通过web_custom_request()函数来解决,可是脚本并不能通过!后面又百度不到答案,通过 ...

  6. iOS WKWebView OC 与 JS 交互学习

    我写WKWebView 想让 服务端相应 一个 方法但是不响应,根据 UIWebView 用 JSContext就能拿到响应的处理经验是不是服务端 也需要 对 WKwebView有兼容的一个写法??? ...

  7. 每天一个Linux命令(55)systemctl命令

    systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起.     (1)用法:     用法:  systemctl  [参数]  [服务 ...

  8. 在控制台中实现“单词竞猜”游戏 C# 猜词游戏

    场景 设计规则 a) 这是一个单人玩的游戏. b) 可以分三个级别,分别是高级.中级.低级.不同级别对应的单词系列也不一样.要求一旦玩家选定了要玩的级别,应当先提示它关于此级别最高分是多少,是谁创下的 ...

  9. 【HackerRank】Sherlock and Array

    Watson gives an array A1,A2...AN to Sherlock. Then he asks him to find if there exists an element in ...

  10. 【转载】linux获取mac地址

    #include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/soc ...