用vb实现DES加解密算法(三)--解密(12) BinCode(i * 8 + 7) = (tempCode(i) And &H1) \ &H1 Next 'IP置换 For i = 0 To 63 CodeIP(i) = BinCode(IP(i)) Next '分段 For i = 0 To 31 R0(i) = CodeIP(i) L0(i) = CodeIP(i + 32) Next '进行第一次迭代 For i = 0 To 47 CodeE(i) = R0(E(i)) '经过E变换扩充,由32位变为48位 CodeE(i) = CodeE(i) Xor K16(i) '与K16按位作不进位加法运算 Next '分8组 For i = 0 To 5 CodeS1(i) = CodeE(i) CodeS2(i) = CodeE(i + 6) CodeS3(i) = CodeE(i + 12) CodeS4(i) = CodeE(i + 18) CodeS5(i) = CodeE(i + 24) CodeS6(i) = CodeE(i + 30) CodeS7(i) = CodeE(i + 36) CodeS8(i) = CodeE(i + 42) Next 'S盒运算,得到8个数 S(0) = S1(CodeS1(5) + CodeS1(0) * 2, CodeS1(4) + CodeS1(3) * 2 + CodeS1(2) * 4 + CodeS1(1) * 8) S(1) = S2(CodeS2(5) + CodeS2(0) * 2, CodeS2(4) + CodeS2(3) * 2 + CodeS2(2) * 4 + CodeS2(1) * 8)