之前项目上需要计算一段字符串产生MD5、再经过base64计算、再把计算结果中的“+”和“/”替换成“-”和“_”、再把等号忽略掉,再来做密码,自己没找到解决办法,最后还是老大alex帮忙解决的。
现在把这段代码分享出来。
其实就是一句话,不过里面涉及到的东西挺多的。
NEW_PSW_MD5=$(echo -n "${NEW_PSW}" | md5sum | xxd -r -p | base64 | sed "s/+/-/g;s/\//_/g;s/=//g")
echo -n 这玩意儿就是不让他输出换行符
md5sum 就是计算MD5的
xxd 这个东西,暂时还不是很熟悉,只是知道 xxd -r -p 这个命令可以把计算出来的32位MD5值装换成16位。
sed "s/+/-/g;s/\//_/g;s/=//g"这一行呢,是把计算结果里面的‘+’替换成‘-’,把‘/’替换成‘_’,把'='干掉。

本文介绍了如何在Linux Shell中计算字符串的MD5值,并使用Base64进行编码,同时替换特殊字符。通过`echo -n`, `md5sum`, `xxd`, `base64`及`sed`命令的组合,实现了一行高效代码来完成这个过程。文章还提到了`sed`替换操作以及简单计算MD5的方法。"
82877798,8068331,使用gulp进行压缩、合并及加版本号的完整指南(mac),"['gulp', '前端开发', '构建工具']
最低0.47元/天 解锁文章
1235

被折叠的 条评论
为什么被折叠?



