文件名称:密码加密工具
文件大小:11KB
文件格式:EXE
更新时间:2017-04-15 12:46:22
密码加密工具
我们总是有太多帐号,常常不得不把密码记到文档。但又想对密码加密,避免别人直接看到密码。这个工具实现对密码的加密和还原。
本程序源码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Security.Cryptography;
using System.IO;
namespace 密码管理
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private static String RDKey = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
private void button1_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder(); Random rd = new Random((int)DateTime.Now.Ticks);
for (int i = 0; i < 16; i++) sb.Append(RDKey[rd.Next(RDKey.Length)]);
OPSW.Text = sb.ToString();
}
private void button3_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(Q.Text)) { MessageBox.Show("密保不能为空"); return; }
if (string.IsNullOrEmpty(OPSW.Text)) { MessageBox.Show("原始密码不能为空"); return; }
PSW1.Text = EncryptDES(OPSW.Text, Q.Text);
}
private void button2_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(Q.Text)) { MessageBox.Show("密保不能为空"); return; }
if (string.IsNullOrEmpty(PSW1.Text)) { MessageBox.Show("加密密码不能为空"); return; }
OPSW.Text = DecryptDES(PSW1.Text, Q.Text);
}
//默认密钥向量
private static byte[] rgbIV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
public static string EncryptDES(string encryptString, string encryptKey)
{
try
{
encryptKey += "--------";
byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));//转换为字节
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();//实例化数据加密标准
MemoryStream mStream = new MemoryStream();//实例化内存流
//将数据流链接到加密转换的流
CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Convert.ToBase64String(mStream.ToArray());
}
catch
{
return encryptString;
}
}
///