刚刚接触这个类,费了老半天才弄出一点点新的,于是就迫不及待得想发表出来,适合新手,老手绕到。
源代码只写部分,见谅。
首先 接受字符串,将他转换为基数为64编码得byte[]类型。因为加密得原理是将它与密钥运算得到的数据就是密文。而64编码就是四个字节存储一个字节数据和密文。
string str="fffff";
byte[] b=encding.utf8.getbyte[str];
创建密钥: byte[] key=byte[]{1,2,4,5,6,7,6,..}
byte[] iv=byte[]{}{1,2,4,5,6,7,6,..}必须是8维数组。 建立加密类: cryptographytoservicerprovider cr=new cryptographytoserviceprovider
创建内存流(创建一块内存空间,类型为流(线性存储))memoryStream ms=new memoryStream();
创建一个数据加密区域,并初始化。 cryptoStream stf=new cryptoStream(ms,cr.createdecrypotr(key,iv),ctyptoStreamMode.Write);
将需要加密得字符串写进加密区域:stf.werite(b,0,b.length);
将缓存得数据全部读进内存。stf.flushfinalBlock();
将指针指向流开始 ms.seek(0,seekOrigin.begin)
然后读取密文。
byte[] bbbb=ms.toArray();
转换为字符串 string str=convert.tobase64string();
ok~~~~~~
其实这些都不难,难一点得就是要细心。
我在写解密得时候,就怎么也不能正常还原,后来才想起,他存储得格式是tobase64编码得。
呵呵!~~
就到这里。解密我就不写了。
写得很不好,见谅啊。