国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

C# DES加密類,16位的加密。

2019-11-17 02:39:18
字體:
供稿:網(wǎng)友

C# DES加密類,16位的加密。

這個加密類是與java寫的DES加密不同時,自己寫的,最后與Java的加密相同了,解決了加密后不同的問題。

可以直接調(diào)用里面的加密和解密的方法。

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Text;using System.Security.Cryptography;using System.IO;namespace EallNum.Helper{    public class FI_DesTools    {        PRivate FI_DesTools()         {        }          private static string key = "×××××";          /// <summary>         /// 對稱加密解密的密鑰         /// </summary>         public static string Key        {             get             {                 return key;            }             set             {                 key = value;            }         }          /// <summary>         /// DES加密         /// </summary>         /// <param name="encryptString"></param>         /// <returns></returns>         public static string DesEncrypt(string strEncryptString)         {            StringBuilder strRetValue = new StringBuilder();            try            {                byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8));                 byte[] keyIV = keyBytes;                byte[] inputByteArray = Encoding.UTF8.GetBytes(strEncryptString);                 DESCryptoServiceProvider provider = new DESCryptoServiceProvider();                            provider.Mode = CipherMode.ECB;//兼容其他語言的Des加密算法                  provider.Padding = PaddingMode.Zeros;//自動補0                                          MemoryStream mStream = new MemoryStream();                 CryptoStream cStream = new CryptoStream(mStream, provider.CreateEncryptor(keyBytes, keyIV), CryptoStreamMode.Write);                 cStream.Write(inputByteArray, 0, inputByteArray.Length);                 cStream.FlushFinalBlock();                 //不使用base64編碼                //return Convert.ToBase64String(mStream.ToArray());                 //組織成16進制字符串                            foreach (byte b in mStream.ToArray())                {                    strRetValue.AppendFormat("{0:X2}", b);                }            }            catch (Exception e)            {                Console.WriteLine(e);            }            return strRetValue.ToString();        }          /// <summary>         /// DES解密         /// </summary>         /// <param name="decryptString"></param>         /// <returns></returns>                 public static string DesDecrypt(string strDecryptString)        {            string strRetValue = "";            try            {                   byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8));                byte[] keyIV = keyBytes;                //不使用base64解碼                //byte[] inputByteArray = Convert.FromBase64String(decryptString);                //16進制轉(zhuǎn)換為byte字節(jié)                byte[] inputByteArray = new byte[strDecryptString.Length / 2];                for (int x = 0; x < strDecryptString.Length / 2; x++)                {                    int i = (Convert.ToInt32(strDecryptString.Substring(x * 2, 2), 16));                    inputByteArray[x] = (byte)i;                }                DESCryptoServiceProvider provider = new DESCryptoServiceProvider();                provider.Mode = CipherMode.ECB;//兼容其他語言的Des加密算法                  provider.Padding = PaddingMode.Zeros;//自動補0                  MemoryStream mStream = new MemoryStream();                CryptoStream cStream = new CryptoStream(mStream, provider.CreateDecryptor(keyBytes, keyIV), CryptoStreamMode.Write);                cStream.Write(inputByteArray, 0, inputByteArray.Length);                cStream.FlushFinalBlock();                //需要去掉結(jié)尾的null字符                //strRetValue = Encoding.UTF8.GetString(mStream.ToArray());                strRetValue = Encoding.UTF8.GetString(mStream.ToArray()).TrimEnd('/0');            }            catch (Exception e)            {                Console.WriteLine(e);            }                        return strRetValue;        }    }}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 通城县| 娱乐| 永顺县| 横山县| 常熟市| 罗山县| 乾安县| 揭东县| 台前县| 元朗区| 建阳市| 信宜市| 贡觉县| 香港 | 阿拉善左旗| 乐都县| 东光县| 山东省| 进贤县| 康马县| 简阳市| 固原市| 津南区| 临海市| 博乐市| 项城市| 永平县| 锡林郭勒盟| 水城县| 抚松县| 衡水市| 齐齐哈尔市| 永嘉县| 通城县| 兖州市| 驻马店市| 万安县| 海晏县| 嫩江县| 龙川县| 岚皋县|