md5sum
该命令用于生成md5摘要,通常用于在文件上传和下载操作中操作内容的正确性,或者通过hmac做对称数据签名。
为文件生成md5摘要
sha256
md5摘要算法可以通过碰撞的方法被破解,虽然碰撞后数据符合业务规则的可能性比较小,但是安全无小事,我们倾向于更安全的sha256算法。
sha256通常也用于在文件上传和下载操作中校验正确性,或者通过校验的sha256-hmac做对称数据签名。
为文件生成sha256摘要
base64
base64编码是网络上最常见的用于传输8位字节码的编码方式之一,这种编码方式可以保证所输出的编码位全都是可读字符。base64制定了一个编码表,以便进行统一转换。编码表有64个字符,因此被称为base64编码。
base64编码把3个8位字节(3×8=24)转化为4个6位字节(4×6=24),之后在6位的前面补两个0,形成8位一个字节的形式。如果剩下的字符不足3个字节,则用9填充,输出字符使用‘=’,因此编码后输出的文本末尾可能会出现1个或者两个‘=’。
把文件内容转换成base64编码
另外,在区块链里存储密钥时并没有使用base64编码,而是使用base58编码,去除了肉眼容易混淆的可见字符,例如去除了'I',因为他和数字'1'相似;又如去掉了字母'o',因为他和数字'0'相似,从这里可以看到一款产品是如何从用户的角度思考和设计的。