数学建模社区-数学中国

标题: 利用URL编码进行加密 [源码] [打印本页]

作者: 韩冰    时间: 2004-10-9 14:33
标题: 利用URL编码进行加密 [源码]
作者: Atomic ( ckatom@hotmail.com) " N- c8 G% `5 i4 |6 C
QQ:5538313
0 t2 D' u# z7 S$ ~. G) o1 @+ ]日期: 18/04/2002
- C% W2 S$ O9 I6 }; n3 z9 F
: D% V6 p/ ?& s" s) C  \( K/ l% Z% l, ~
刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品. ! u$ Q' Z3 W* U* [; k4 w  f
其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分:
! i8 j. C2 h6 T/ i* t$ U1 _$ v/ p! {( H; \5 x+ i! Z$ O" c
''encode - 转成16进制符
, {+ H1 B$ @0 t
- J! F1 V& R9 R  jFor i = 1 To Len(strIN) - e$ Y1 d/ G8 C0 ?7 n
s = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~
6 h8 m1 X3 Z" X( dIf Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0
) x0 |9 J* I' |7 X7 [8 WstrOUT = strOUT & "%" & s $ c5 x2 n3 m+ F3 z/ T+ u
Next i : ^  h9 [3 v! E+ f7 p, W

$ {: x6 C8 P; ?8 Q1 c: C7 q$ B8 @txtOUT.Text = strOUT ''这里就是输出了
- |+ [; W: B! h# p* L9 T  o___________________________________________________________ # {, h. S+ {$ F5 D; h6 i' d
, Z2 k& c* m% X/ c
''decode - 解码, 比较麻烦点   P/ Z' \  `- X3 S) r8 O3 E

" Y/ W1 X, \$ U3 IFor i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
" I( ?' x7 Z; m8 c0 ps1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字
) r. l2 ~7 i5 L( o( Y+ z0 v/ ~4 Cs2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字
9 u' y9 @. ]7 q! ?; t6 d3 ^/ S1 b, M, [8 q  |+ l. n
Select Case s1 '' 进制转换
, s0 X9 s6 T' A) kCase "A" To "F"
- F5 Y8 c/ g8 X1 \8 u8 N, hn = (10 + 5 - (Asc("F") - Asc(s1))) * 16
- d1 X. V% H$ M' W2 _Case Else % e6 W7 C; r5 N/ {/ T# o- e0 P$ Z
n = Val(s1) * 16
3 R2 U4 v5 p; P" w" {" B  dEnd Select
. F4 c! E6 v) a& l* l; \/ X' L4 k6 S* Q/ o' R1 b
Select Case s2 9 b- n8 p8 g9 x; s. {  v  p
Case "A" To "F" % K0 A8 v2 r# c9 V
n = n + (10 + 5 - (Asc("F") - Asc(s2)))
, T1 `* A* X$ M/ tCase Else ) t; y' p$ D. h. S! ^! }
n = n + Val(s2)
. N* m$ ]5 O, y) S5 |! U4 eEnd Select & C( _& {7 t! u0 d$ K1 N
) b4 ]2 A* p1 u* s- K5 E
s = ChrW$(n) '' 转为字符 , N2 \& @7 S$ n; x4 l) l
strOUT = strOUT & s
1 U7 f" t, x, ?7 G0 c6 f' rNext i
/ w  S( ~# F5 U, C; S- l8 v1 P2 `txtOUT.Text = strOUT
: {# D: T6 I* |$ k' k( f# b6 Z/ P9 O" l. y* ]0 N) L

+ y* D& ^) x) {; A* \程序下载: http://apower.uhome.net/download/encoder.zip
& o$ l* O& Q. {  ], |" Fhttp://members.rogers.com/tdl/encoder.zip.  . _7 Z$ v1 H" x5 L8 F
  1. <SCRIPT language=javascript src="../scripts/recommend.js">
    , R( h; h1 y7 @4 Q- j

  2. 7 [- R, `% g3 j! a- m1 A% Z% \
  3. <script>
复制代码





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5