[原创]实用的密码加密工具(C#代码)
运行平台:Microsoft .NET Framework v1.1
开发平台:Microsoft Visual Studio .NET 2003
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Security.Cryptography;
using System.Web.Security;
namespace HashPassWord
{
///
/// Form1 的摘要说明。
///
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox Text_Source;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.TextBox Text_Result;
private System.Windows.Forms.RadioButton radio32;
private System.Windows.Forms.RadioButton radio16;
private System.Windows.Forms.RadioButton radio40;
private System.Windows.Forms.RadioButton radio1;
///
/// 必需的设计器变量。
///
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
///
/// 清理所有正在使用的资源。
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows 窗体设计器生成的代码
///
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
///
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.Text_Result = new System.Windows.Forms.TextBox();
this.Text_Source = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.radio32 = new System.Windows.Forms.RadioButton();
this.radio16 = new System.Windows.Forms.RadioButton();
this.radio40 = new System.Windows.Forms.RadioButton();
this.radio1 = new System.Windows.Forms.RadioButton();
this.SuspendLayout();
//
// label1
//
this.label1.Location = new System.Drawing.Point(32, 24);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(96, 16);
this.label1.TabIndex = 1;
this.label1.Text = "加密前字符串:";
//
// label2
//
this.label2.Location = new System.Drawing.Point(32, 88);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(96, 16);
this.label2.TabIndex = 2;
this.label2.Text = "加密后字符串:";
//
// Text_Result
//
this.Text_Result.BackColor = System.Drawing.SystemColors.HighlightText;
this.Text_Result.Location = new System.Drawing.Point(120, 80);
this.Text_Result.Name = "Text_Result";
this.Text_Result.ReadOnly = true;
this.Text_Result.Size = new System.Drawing.Size(248, 21);
this.Text_Result.TabIndex = 3;
this.Text_Result.Text = "";
//
// Text_Source
//
this.Text_Source.Location = new System.Drawing.Point(120, 16);
this.Text_Source.Name = "Text_Source";
this.Text_Source.Size = new System.Drawing.Size(248, 21);
this.Text_Source.TabIndex = 2;
this.Text_Source.Text = "";
this.Text_Source.TextChanged += new System.EventHandler(this.Text_Source_TextChanged);
//
// button1
//
this.button1.Location = new System.Drawing.Point(120, 112);
this.button1.Name = "button1";
this.button1.TabIndex = 5;
this.button1.Text = "加密";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(240, 112);
this.button2.Name = "button2";
this.button2.TabIndex = 6;
this.button2.Text = "退出";
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// radio32
//
this.radio32.Checked = true;
this.radio32.Location = new System.Drawing.Point(72, 48);
this.radio32.Name = "radio32";
this.radio32.Size = new System.Drawing.Size(72, 24);
this.radio32.TabIndex = 7;
this.radio32.TabStop = true;
this.radio32.Text = "Md5_32位";
this.radio32.CheckedChanged += new System.EventHandler(this.radio32_CheckedChanged);
//
// radio16
//
this.radio16.Location = new System.Drawing.Point(144, 48);
this.radio16.Name = "radio16";
this.radio16.Size = new System.Drawing.Size(72, 24);
this.radio16.TabIndex = 8;
this.radio16.Text = "Md5_16位";
this.radio16.CheckedChanged += new System.EventHandler(this.radio16_CheckedChanged);
//
// radio40
//
this.radio40.Location = new System.Drawing.Point(216, 48);
this.radio40.Name = "radio40";
this.radio40.Size = new System.Drawing.Size(72, 24);
this.radio40.TabIndex = 9;
this.radio40.Text = "Sha1加密";
this.radio40.CheckedChanged += new System.EventHandler(this.radio40_CheckedChanged);
//
// radio1
//
this.radio1.Location = new System.Drawing.Point(296, 48);
this.radio1.Name = "radio1";
this.radio1.TabIndex = 10;
this.radio1.Text = "唯一标识加密";
this.radio1.CheckedChanged += new System.EventHandler(this.radio1_CheckedChanged);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(416, 149);
this.Controls.Add(this.radio1);
this.Controls.Add(this.radio40);
this.Controls.Add(this.radio16);
this.Controls.Add(this.radio32);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this.Text_Source);
this.Controls.Add(this.Text_Result);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.MaximizeBox = false;
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "密码加密工具 - Velon QQ:7421021";
this.ResumeLayout(false);
}
#endregion
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button2_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
private void button1_Click(object sender, System.EventArgs e)
{
GetCheckChanged();
}
private string GetHashPassWord_Md5_32(string SourceText)
{
return FormsAuthentication.HashPasswordForStoringInConfigFile(SourceText, "MD5").ToLower();
}
private string GetHashPassWord_Md5_16(string SourceText)
{
return FormsAuthentication.HashPasswordForStoringInConfigFile(SourceText, "MD5").ToLower().Substring(9,0x10);
}
private string GetHashPassWord_Sha1_40(string SourceText)
{
return FormsAuthentication.HashPasswordForStoringInConfigFile(SourceText, "Sha1").ToLower();
}
private Guid GetStringHash(string SourceText)
{
byte[] bytes = System.Text.Encoding.Unicode.GetBytes(SourceText);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] hashed = md5.ComputeHash(bytes);
Guid id = new Guid(hashed);
md5.Clear();
return id;
}
private void radio16_CheckedChanged(object sender, System.EventArgs e)
{
Text_Result.Text = GetHashPassWord_Md5_16(Text_Source.Text);
}
private void radio40_CheckedChanged(object sender, System.EventArgs e)
{
Text_Result.Text = GetHashPassWord_Sha1_40(Text_Source.Text);
}
private void radio1_CheckedChanged(object sender, System.EventArgs e)
{
Text_Result.Text = GetStringHash(Text_Source.Text).ToString();
}
private void radio32_CheckedChanged(object sender, System.EventArgs e)
{
Text_Result.Text = GetHashPassWord_Md5_32(Text_Source.Text);
}
private void GetCheckChanged()
{
if(radio32.Checked)
{
Text_Result.Text = GetHashPassWord_Md5_32(Text_Source.Text);
}
else if(radio16.Checked)
{
Text_Result.Text = GetHashPassWord_Md5_16(Text_Source.Text);
}
else if(radio40.Checked)
{
Text_Result.Text = GetHashPassWord_Sha1_40(Text_Source.Text);
}
else
{
Text_Result.Text = GetStringHash(Text_Source.Text).ToString();
}
}
private void Text_Source_TextChanged(object sender, System.EventArgs e)
{
GetCheckChanged();
}
}
}
我的小站:www.gdmix.com