C#加密解密

来源:互联网 发布:游族网络林奇妻子韩薇 编辑:程序博客网 时间:2024/06/06 02:17



MD5加密,不可解密

public string GetMD5(string s, string _input_charset)     {        // 与ASP兼容的MD5加密算法        MD5 md5 = new MD5CryptoServiceProvider();        byte[] t = md5.ComputeHash(Encoding.GetEncoding(_input_charset).GetBytes(s));        StringBuilder sb = new StringBuilder(32);        for (int i = 0; i < t.Length; i++)        {            sb.Append(t[i].ToString("x").PadLeft(2, '0'));        }        return sb.ToString();    }

普通加密、解密

        public string encode(string str)        {            string htext = "";            for (int i = 0; i < str.Length; i++)            {                htext = htext + (char)(str[i] + 10 - 1 * 2);            }            return htext;        }        public string decode(string str)        {            string dtext = "";            for (int i = 0; i < str.Length; i++)            {                dtext = dtext + (char)(str[i] - 10 + 1 * 2);            }            return dtext;        }


文件加解密

    private static void EncryptData(String inName, String outName, byte[] desKey, byte[] desIV)    {        //Create the file streams to handle the input and output files.        FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);        FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write);        fout.SetLength(0);        //Create variables to help with read and write.        byte[] bin = new byte[100];        long rdlen = 0;                    long totlen = fin.Length;          int length;                          DES des = new DESCryptoServiceProvider();        CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);        //Read from the input file, then encrypt and write to the output file.        while (rdlen < totlen)        {            
            length = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len); rdlen = rdlen + length; } encStream.Close(); fout.Close(); fin.Close(); } //解密文件 private static void DecryptData(String inName, String outName, byte[] desKey, byte[] desIV) { FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read); FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write); fout.SetLength(0); byte[] bin = new byte[100]; long rdlen = 0; long totlen = fin.Length; int len;
DES des = new DESCryptoServiceProvider(); CryptoStream encStream = new CryptoStream(fout, des.CreateDecryptor(desKey, desIV), CryptoStreamMode.Write); //Read from the input file, then encrypt and write to the output file. while (rdlen < totlen) {
            length = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + length;
} encStream.Close(); fout.Close(); fin.Close(); }