為了方便對於字串的加解密,.net提供了一些內建支援。一般我們更願意把它們封裝成乙個通用類,以重複使用.下面是乙個範例
public class encrypter
private symmetricalgorithm mcsp;public encrypt()private const string civ = "kxwl7x2+fgm=";
private const string ckey = "fwgqwrrgkci=";
mcsp = new descryptoserviceprovider();///對稱加密
public string encryptstring(string value)
icryptotransform ct;///對稱解密memorystream ms;
cryptostream cs;
byte byt;
ct = mcsp.createencryptor(convert.frombase64string(ckey), convert.frombase64string(civ));
byt = encoding.utf8.getbytes(value);
ms = new memorystream();
cs = new cryptostream(ms, ct, cryptostreammode.write);
cs.write(byt, 0, byt.length);
cs.flushfinalblock();
cs.close();
return convert.tobase64string(ms.toarray());
public string decryptstring(string value)
icryptotransform ct;///產生雜湊雜湊值memorystream ms;
cryptostream cs;
byte byt;
ct = mcsp.createdecryptor(convert.frombase64string(ckey), convert.frombase64string(civ));
byt = convert.frombase64string(value);
ms = new memorystream();
cs = new cryptostream(ms, ct, cryptostreammode.write);
cs.write(byt, 0, byt.length);
cs.flushfinalblock();
cs.close();
return encoding.utf8.getstring(ms.toarray());
public string hashed(string input)
md5cryptoserviceprovider md5 = new md5cryptoserviceprovider();///比較雜湊值(注意,雜湊演算法是不可逆的,所以只能進行比較byte byt = encoding.utf8.getbytes(input);
return convert.tobase64string(md5.computehash(byt));
public bool comparehash(string input, string hashedstring) {
md5cryptoserviceprovider md5 = new md5cryptoserviceprovider();客戶程式呼叫的例子return hashedstring.equals(hashed(input));
public static void main()
encrypter encrypt = new encrypter();console.writeline(encrypt.encryptstring("hello,world"));
console.writeline(encrypt.decryptstring("shwfba84ozrlqsmyrrakiw=="));
console.writeline(encrypt.hashed("chenxizhang"));
console.writeline(encrypt.comparehash("chenxizhang", "xll6ty7js1jpbssgopzbhg=="));
console.read();
出處:http://blog.csdn.net/chen_xizhang
字串加解密
題目 1 對輸入的字串進行加解密,並輸出。2加密方法為 當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a時則替換為b 字母z時則替換為a 當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0 其他字元不做變化。3 解密方法為加密的逆過程。輸入 輸入一串要加密的密...
字串加解密
題目描述 1 對輸入的字串進行加解密,並輸出。2 加密方法為 當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a時則替換為b 字母z時則替換為a 當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0 其他字元不做變化。3 解密方法為加密的逆過程。介面描述 實現介面...
字串加解密
描述 1 對輸入的字串進行加解密,並輸出。2 加密方法為 當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a時則替換為b 字母z時則替換為a 當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0 其他字元不做變化。3 解密方法為加密的逆過程。輸入輸入一串要加密的密...