计算文本或文件的hash值

风行水上 @ 2011-07-30 13:06:03
标签:

    hash是把一长段文本用一个较短的文本来表示。不同的输入文本即使有很小的差异,也会得到完全不同的hash值。hash算法通常是不可逆的,即很难从hash值反推回原文。

    hash算法常用作文本的不可逆加密。比如将用户的密码以hash值的形式存储在数据库中,校验时将用户输入的密码转换成hash值后再跟数据库中的值进行比较。这样即使是数据库管理用也不能轻易得到用户的密码。

                       +---------+
                       |         |
       Input Text ----->   MD5   +-------> Hash
                       |         |
                       +---------+
    

    常用的hash算法有MD5、SHA等。

    MD5

    Linux中计算文件或字符串的MD5值可以用如下命令。

    md5sum file.txt             ; # 计算文件的MD5值
    echo -n "hello" | md5sum    ; # 计算字符串的MD5值。-n 表示不输出换行符
                                  # 也可以用 printf "%s" "hello" 来代替
    
    标签:

      分享到:
      comments powered by Disqus

      46/53ms