关于cryptography得一点新的

来源:互联网 发布:雕刻机软件下载 编辑:程序博客网 时间:2024/05/17 22:58

 刚刚接触这个类,费了老半天才弄出一点点新的,于是就迫不及待得想发表出来,适合新手,老手绕到。

源代码只写部分,见谅。

首先 接受字符串,将他转换为基数为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编码得。

     呵呵!~~

就到这里。解密我就不写了。

                              写得很不好,见谅啊。