能力值:
( LV9,RANK:180 )
|
-
-
2 楼
一样
....
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
什么一样?  拜托我没懂-_-! 哪位再来解释下~~
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
 难道是这段代码太简单没人看得上....?
555,难死我了...
|
能力值:
(RANK:260 )
|
-
-
5 楼
:= 是不是赋值? 还有password := password + chr...中的password是字符串变量吧,+就应该是字符串连接操作符吧。
如果我对Delphi的语法记忆没错的话,这就是一个简单异或过程。
sessiondiy说的一样,是说加密和解密使用同一个函数。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
可是得到的结果不一样哦~’
password为535han7m7d用这个加密后用这个函数解密得到的数据如图
要是还用这个函数加密,得到的完全不对...
|
能力值:
(RANK:260 )
|
-
-
7 楼
算法是正确的.你的操作问题.
你输入的明文密码都是可打印的单字节字符.
而加密后的数据,音字节成了双字节,而且是二进制.
你把 54 d6 e7 ... 这个二进制值当成字串进行解密,当然不会得到正确的结果.
所说的算法一样,但还是得写一个不稍不同的代码来实现,虽然是用同一个组密钥来异或加密.
如果还不明白,请补习基础知识.仔细想看它解密过程,其中的 i += 2;和chr函数,你把这两个地方弄明白了就全明白了.
不要完全等别人的现成的结果.再说这本来就是个基础的算法.
作为一个编程爱好者,连这个异或都搞不定,岂不让人笑话.
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
 现在不是要解密,而是要把一段明文加密,加密正确与否的标准是用上面给出的那段是否能解密出来...可能是我太笨了...
|
能力值:
( LV9,RANK:180 )
|
-
-
9 楼
一樣
....
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
 你太强悍了~~-_-!
|
能力值:
(RANK:260 )
|
-
-
11 楼
一样一样一样的
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
 有自杀的冲动了...这段代码琢磨几天了,没懂,来这里问的结果...汗...
|
能力值:
(RANK:260 )
|
-
-
13 楼
跟你开玩笑。
不过说实话,如果真连这个都搞不懂,那真得好好补补了。
给你个C++代码,自己琢磨吧。先加密,再解密,就是你给的那个代码;
char array[]={0x61, 0xD6, 0xD4, 0xE9, 0xDD, 0xF0, 0xFB, 0xF2, 0x5B, 0x64, 0x35, 0xAD, 0xB7, 0xC8, 0x19, 0x75, 0xEC, 0x31, 0x2B, 0xBC};
std::string key("535han7m7d");
std::vector<char> data;
for ( int i = 0; i < key.length(); ++i)
{
data.push_back((char)( key[i] ^ array[2*i]) );
data.push_back( 0x00 );
}
key="";
for (int i = 0; i < data.size() - 1; i+=2 )
{
key += (char)(data[i] ^ array[i]);
}
如果还看不明白,那就看书把自己累死吧
|
能力值:
( LV9,RANK:180 )
|
-
-
14 楼
因为我知道说得再多你也不懂
而且早已预言到最后酥胸会帮你写程式.
|
能力值:
(RANK:260 )
|
-
-
15 楼
你咋整的,我咋成“酥胸”了。。。
天啊,救命啊,我的名誉。。。。
|
能力值:
( LV9,RANK:180 )
|
-
-
16 楼
虽然名誉至上
还是膜拜酥胸
|
|
|