SHA1 開始慢慢取代 MD5 了!
Fedora Core 4 前幾天發表了,眼尖的人可以發現 Fedora Core 4 的光碟 ISO 檔案
現在已經改用 SHA1 來產生 CHECKSUM 了,原本 Fedora Core 3 還是使用 MD5 的...
這應該是因為 MD5 已經被發現 collision 的破解方式,
所以現在開始會看到愈來愈多 SHA1 取代 MD5 的狀況
不過,現在已經有一堆研究學者開始轉移目標到 SHA1 了,
相信 SHA1 被破解的日子應該也不會太久.... XD
By the way, 在 FreeBSD 下面,計算 SHA1 checksum 的程式是 /sbin/sha1 ,用法和 /sbin/md5 一樣,
而事實上,這兩個程式連同 /sbin/rmd160 都是同一支程式,只是用 hard links 串在一起
简介 获取字符串和任意类型文件的Hash值,包括SHA1、SHA256、SHA384、SHA512。
也为免费的控件。他们上面发布的免费资源很多,需要其它的可以到他们的主页去下载。
源名稱 SHA算法(SHA1、SHA256、SHA384、SHA512)
計算文件sha1值的好工具cdcheck
現在大家基本都用sha1替代md5校驗了,所以找一個好的可以計算sha1值的工具很有必要。
用cdcheck計算文件hash值速度很快,並且簡單易用,而且還有其他許多有用的功能,可以比較2個文件是否相同,還可以比較2個資料夾中文件有什麼不同,還可以檢測燒錄好的cd光碟是否有錯。
首先計算hash值,選項偵測,然後在要建立偵測的來源資料夾/文件下找到你需要計算hash值的文件,然後在輸出檔案名稱中選項輸出校驗文件的儲存位置,副檔名是crc,偵測檔案類型選sha1,然後選項繼續,就可以計算文件的sha1值了。找到那個儲存好的副檔名為crc的校驗文件,用記事本開啟就可以看到sha1值了。
驗證sha1值時,選項cdcheck主介面中的檢查,然後在要檢查錯誤的來源資料夾/文件中找到要檢查sha1值的文件,再從下面的自訂偵測文件中找到剛才那個副檔名為crc的校驗文件,選項繼續就可以檢測hash值對不對了。
CDCheck 3.1.11.0
下載:
http://yncnc.onlinedown.net/soft/4288.htm
註冊碼:182504873
附件中為漢化,放到cdcheck安裝資料夾下,然後到設定中語言設定選項Simple Chinese就行了。
ASP.NET中密碼保護,MD5和SHA1算法的使用
你的主頁或者你管理的網站有各種密碼需要保護,把密碼直接放在資料庫或者文件中存在不少安全隱患,所以密碼加密後儲存於是最一般的做法。在ASP.NET中實現加密非常容易。.NET SDK中提供了CookieAuthentication類,其中的HashPasswordForStoringInConfigFile方法可直接使用MD5和SHA1算法。例子如下:<br>
file: encrypting.aspx<br>
<%@ Page language="c#" Codebehind="encrypting.cs" AutoEventWireup="false" Inherits="encrypting.encrypting" %><br>
<html><head><br>
<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0"><br>
<meta name="CODE_LANGUAGE" Content="C#"></head><br>
<body><br>
<br>
<form method="post" runat="server"><br>
<p> </p><br>
<p><br>
<asp:TextBox id=TextBox1 runat="server"></asp:TextBox><br>
<asp:Button id=Button1 runat="server" Text="encrypting"></asp:Button></p><br>
<p>Encrypting Password(MD5):<br>
<asp:Label id=MD5 runat="server"></asp:Label></p><br>
</form><br>
<br>
</body></html><br>
<br>
file:encrypting.cs<br>
<br>
namespace encrypting<br>
{<br>
using System;<br>
using System.Collections;<br>
using System.ComponentModel;<br>
using System.Data;<br>
using System.Drawing;<br>
using System.Web;<br>
using System.Web.SessionState;<br>
using System.Web.UI;<br>
using System.Web.UI.WebControls;<br>
using System.Web.UI.HtmlControls;<br>
using System.Web.Security;<br>
/// <summary><br>
/// Summary description for encrypting.<br>
/// </summary><br>
public class encrypting : System.Web.UI.Page<br>
{<br>
protected System.Web.UI.WebControls.Label MD5;<br>
protected System.Web.UI.WebControls.Button Button1;<br>
protected System.Web.UI.WebControls.TextBox TextBox1;<br>
<br>
public encrypting()<br>
{<br>
Page.Init += new System.EventHandler(Page_Init);<br>
}<br>
protected void Page_Load(object sender, EventArgs e)<br>
{<br>
if (!IsPostBack)<br>
{<br>
//<br>
// Evals true first time browser hits the page<br>
//<br>
}<br>
}<br>
protected void Page_Init(object sender, EventArgs e)<br>
{<br>
//<br>
// CODEGEN: This call is required by the ASP+ Windows Form Designer.<br>
//<br>
InitializeComponent();<br>
}<br>
/// <summary><br>
/// Required method for Designer support - do not modify<br>
/// the contents of this method with the code editor.<br>
/// </summary><br>
private void InitializeComponent()<br>
{<br>
Button1.Click += new System.EventHandler (this.Button1_Click);<br>
this.Load += new System.EventHandler (this.Page_Load);<br>
}<br>
public void Button1_Click (object sender, System.EventArgs e)<br>
{<br>
MD5.Text = CookieAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text,"MD5");<br>
//SHA1 use CookieAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text,"SHA1");<br>
}<br>
}<br>
}<br>
注意:類CookieAuthentication的namespace是System.Web.Security。