user11 发表于 2015-5-24 10:01:40

[求助]字符串加密ASCII解密转换为原始字符的代码

本帖最后由 user11 于 2015-5-24 15:10 编辑

某个程序将acsii进行转换了,正常的字符的16进制ascii,转换成加密后的ascii,

我知道转换规律, 将加密的ascii转换回成正常的ascii值 ???求高手指点,谢谢

自己写了个,不知道,有什么更简洁的写法。

$char="732971286A5C7E27617C545F455A457E5E7F575A6725787C5B566A7272595B4258555E7E205974555E644544245324"
$ok="c9a8zLn7qlDOUJUnNoGJw5hlKFzbbIKRHENn0IdENtUT4C4"
$zq=""

For $i=1 To StringLen($char)/2 Step 1
$zqx=$zq;
;~         $xs=StringMid($char,$i*2-1,2)&" 标准"&StringMid($ok,$i,1)

If Dec(StringMid($char,$i*2-1,2)) >31 AndDec(StringMid($char,$i*2-1,2)) < 75 Then
          $zq=Chr(Dec(StringMid($char,$i*2-1,2))+16)
ElseIf Dec(StringMid($char,$i*2-1,2)) >95 AndDec(StringMid($char,$i*2-1,2)) < 107 Then       
       $zq=Chr(Dec(StringMid($char,$i*2-1,2))+16)
Else       
        $zq=Chr(Dec(StringMid($char,$i*2-1,2))-16)
       
EndIf
;~ MsgBox(0,$i,$xs&"解密= "&$zq,1)
$zq=$zqx&$zq
Next
MsgBox(0,0,$ok&@CRLF&$zq)
原        原ASCII        密原   十进制ASCII       
a        61        71        a        97       
b        62        72        b        98       
c        63        73        c        99       
d        64        74        d        100       
e        65        75        e        101       
f        66        76        f        102       
g        67        77        g        103       
h        68        78        h        104       
i        69        79        i        105       
j        6a        7A        j        106       
k        6b        7B        k        107       
l        6c        7C        l        108       
m        6d        7D        m        109       
n        6e        7E        n        110       
o        6f        7F        o        111       
p        70        60        p        112       
q        71        61        q        113       
r        72        62        r        114       
s        73        63        s        115       
t        74        64        t        116       
u        75        65        u        117       
v        76        66        v        118       
w        77        67        w        119       
x        78        68        x        120       
y        79        69        y        121       
z        7a        6A        z        122       
A        41        51        A        65       
B        42        52        B        66       
C        43        53        C        67       
D        44        54        D        68       
E        45        55        E        69       
F        46        56        F        70       
G        47        57        G        71       
H        48        58        H        72       
I        49        59        I        73       
J        4a        5A        J        74       
K        4b        5B        K        75       
L        4c        5C        L        76       
M        4d        5D        M        77       
N        4e        5E        N        78       
O        4f        5F        O        79       
P        50        40        P        80       
Q        51        41        Q        81       
R        52        42        R        82       
S        53        43        S        83       
T        54        44        T        84       
U        55        45        U        85       
V        56        46        V        86       
W        57        47        W        87       
X        58        48        X        88       
Y        59        49        Y        89       
Z        5a        4A        Z        90       
0        30        20        0        48       
1        31        21        1        49       
2        32        22        2        50       
3        33        23        3        51       
4        34        24        4        52       
5        35        25        5        53       
6        36        26        6        54       
7        37        27        7        55       
8        38        28        8        56       
9        39        29        9        57       

nofindx 发表于 2015-5-24 13:19:09

没看明白你的这个表 想表达的规律
所以以 小写字母“a”举例 ,你进行反推即可Local $a = "a" ;初始值 -- a
Local $Asc_a = Asc($a);ASCII 码 -- 97
Local $Hex_a = Hex($Asc_a) ; 十六进制 -- 00000061
Local $A = $Hex_a + 10 ; 所谓的转换规律? -- 71

xlj310 发表于 2015-5-26 00:01:37

真心没明白什么意思Ascii对应表百度一下便知
页: [1]
查看完整版本: [求助]字符串加密ASCII解密转换为原始字符的代码