des加密

来源:互联网 发布:日本武士刀淘宝 编辑:程序博客网 时间:2024/05/18 20:51
密码加密解密:(谨以此记录)
using System;using System.Collections.Generic;using System.IO;using System.Security.Cryptography;using System.Text;public static class PwdHelper{    //-------------------------------------------------------------------------    public static readonly string key = "12345678";    //-------------------------------------------------------------------------    public static string encrypt(string pwd, string key, string vector)    {        try        {            byte[] byte_key = Encoding.UTF8.GetBytes(key);            byte[] byte_vec = Encoding.UTF8.GetBytes(vector);            DESCryptoServiceProvider des = new DESCryptoServiceProvider();            using (MemoryStream ms = new MemoryStream())            {                byte[] byte_pwd = Encoding.UTF8.GetBytes(pwd);                try                {                    using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byte_key, byte_vec), CryptoStreamMode.Write))                    {                        cs.Write(byte_pwd, 0, byte_pwd.Length);                        cs.FlushFinalBlock();                    }                    return Convert.ToBase64String(ms.ToArray());                }                catch                {                    return pwd;                }            }        }        catch (Exception ex)        {            return ex.Message;        }    }    //-------------------------------------------------------------------------    public static string decrypt(string pwd, string key, string vector)    {        try        {            byte[] byte_key = Encoding.UTF8.GetBytes(key);            byte[] byte_vec = Encoding.UTF8.GetBytes(vector);            DESCryptoServiceProvider des = new DESCryptoServiceProvider();            using (MemoryStream ms = new MemoryStream())            {                byte[] byte_pwd = Convert.FromBase64String(pwd);                try                {                    using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byte_key, byte_vec), CryptoStreamMode.Write))                    {                        cs.Write(byte_pwd, 0, byte_pwd.Length);                        cs.FlushFinalBlock();                    }                    return Encoding.UTF8.GetString(ms.ToArray());                }                catch                {                    return pwd;                }            }        }        catch (Exception ex)        {            return ex.Message;        }    }}

加密:

        pwd = PwdHelper.encrypt(pwd, PwdHelper.key, PwdHelper.key);    

解密:

    //-------------------------------------------------------------------------    public void setAccountText(string account, string password)    {        mUiBehaviour.setInputText(mUiBehaviour.mUiInputUserName, account);        mUiBehaviour.setInputText(mUiBehaviour.mUiInputPassword, string.IsNullOrEmpty(password) ? password : PwdHelper.decrypt(password, PwdHelper.key, PwdHelper.key));    }



0 0