本人参考了能搜索到的所有VB大类的例子 没有一个对汉字的字符加密成功的 解密后的字符串总有几位是错的 如果哪为先生有成功加解密字符串的例子 请为小弟提供 必有重谢!!!!!!!

解决方案 »

  1.   

    很正常,所有用String保存加密结果的代码都是错误的VB的String是Unicode格式的,而传统的文本是ANSI+DBCS格式
    所以VB在读写外部数据时、使用转换函数时(Chr、Asc),对String的数据会进行自动转换,这样的自动转换经常会破坏数据
    正确加密办法:
    1.将字符串数据复制到byte数组
    2.对byte数组中的数据加密
    3.存储byte数组正确的解密方法:
    1.读取加密数据到byte数组
    2.对byte数组中的数据解密
    3.将byte数组中的数据复制到String
      

  2.   

    To zyl910(910:分儿,我又来了!)  请问有没有现成的例子
      

  3.   

    可以使用我的汉斯加密类模块。需要的话我发给你。
    (另:zyl910说得对,我的加密模块实际上就是zyl910说的原理写的,只是多加入了我自己的一些算法)
      

  4.   

    需要附加一些处理。
    加密后的串必然含有一些非打印字符或不存在的字符。因而不要直接保存到字符串变量中。可以将值保存到 Byte 数组,或者再转换成 16 进制字符串来保存。解密时做逆运算。