我在做一个加密解密的东西 换位是采取列换位思想。是用一个不包含重复字母的词或词组,以其中个字母在字母表中的顺序来标志列的顺序,即该词或词组起着密钥的作用。初步实现上面加密完后,在用简单替换把密文中的每个字符用相应的字符替换掉,这样子最后形成一个密文。
我碰到的问题是 比如是中文的txt 那他们的编码和英文的区别是很大的~ 加密形成了乱码 解密的时候还是乱码。假如是英文单词的话 就不会出现这个问题。所以我想知道这是怎么回事?
我碰到的问题是 比如是中文的txt 那他们的编码和英文的区别是很大的~ 加密形成了乱码 解密的时候还是乱码。假如是英文单词的话 就不会出现这个问题。所以我想知道这是怎么回事?
因为大于128和小于32的ASCII码的字符都是不可见的或是乱码(看上去).而你的"列换位"(我不懂)的算法可能没有考虑到ASCII大于255的情况,有可能一个按200编码的字符,在加密后其ASCII码运算后是256,这时有可能计算机会将其编码转变成1,而你的编码1解密后肯定不等于200,因为你的算法是256解密得200.看来需要重新设计一下.