Read Sean

          Read me, read Sean.
          posts - 508, comments - 655, trackbacks - 9, articles - 4

          [Tips] 使用Ruby計算MD5 checksum

          Posted on 2007-02-10 12:53 laogao 閱讀(2637) 評論(0)  編輯  收藏 所屬分類: Other Languages

          很多開源框架的官方下載都會提供MD5的驗(yàn)證碼,用于驗(yàn)證下載的完整性,確保用戶下載的版本和發(fā)布者期望的版本是一致的,防止有人惡意篡改,尤其是存在很多鏡像站點(diǎn)的時候。使用Unix系統(tǒng)的朋友可以通過命令行直接md5 + 文件名,或者md5sum + 文件名取得本地文件的md5驗(yàn)證碼。使用Windows的朋友也能在網(wǎng)上找到不止一個提供MD5的工具。

          不過既然Ruby在Unix/Windows/Mac上都能跑,那Ruby有沒有提供MD5的功能讓我們可以以一致的方式取得MD5 checksum呢?答案是有。
          1. #!/usr/bin/env ruby  
          2. require 'digest/md5'  
          3. ARGV.each do |f|  
          4.     checksum = Digest::MD5.hexdigest(File.read(f))  
          5.     puts "#{f}:\t#{checksum}"  
          6. end  

          比如我們到http://struts.apahce.org/下載1.2.9版本Struts的源碼,下載到本地后,可以用上面的腳本獲取相應(yīng)的MD5碼,輸出為:

          struts-1.2.9-src.tar.gz   63ff6e570410876412f8fd97749b2415

          拿后面這個63ff6e570410876412f8fd97749b2415和官方網(wǎng)站上相應(yīng)的MD5 checksum作比對看是否一致,即可認(rèn)定下載到本地的版本是否完整。


          主站蜘蛛池模板: 什邡市| 江阴市| 西畴县| 栖霞市| 农安县| 黄陵县| 周宁县| 阳西县| 休宁县| 余干县| 仁化县| 花莲县| 平原县| 永修县| 南陵县| 海林市| 凤台县| 广丰县| 旌德县| 东港市| 霍城县| 志丹县| 潢川县| 荣成市| 徐州市| 繁峙县| 武安市| 永仁县| 永新县| 东辽县| 揭东县| 芮城县| 垦利县| 呈贡县| 长岭县| 内乡县| 申扎县| 通渭县| 北票市| 长兴县| 四川省|