数学建模社区-数学中国

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

作者: 韩冰    时间: 2004-10-9 14:33
标题: 利用URL编码进行加密 [源码]
作者: Atomic ( ckatom@hotmail.com) 2 `8 C) W/ C) o2 ?
QQ:5538313
9 ?6 ?2 C" b: ]) M0 Z+ X  u/ S日期: 18/04/2002
3 ~/ b- N" f; M$ P4 ?0 j
0 k- U; ^3 @; R& J" z  X: Q  y! z6 e+ j
刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品.
3 i1 Z' ~1 f% a- U8 o7 P其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分: ; Y2 F: A* I$ O

8 M3 \+ ~5 m% Z% Q4 I''encode - 转成16进制符
2 N% m; G* n" v6 E; |0 h- H+ u, g4 a  Q% V! y- O
For i = 1 To Len(strIN)
2 \* L: O) {; r8 d3 m: X# y) Qs = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~
; }& ~. g! r$ ]! L+ z5 Q) f5 _If Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0
/ y! n' F- a5 w; g- B8 x' c  I" mstrOUT = strOUT & "%" & s
7 h% W# h1 B7 p" N: fNext i 3 N  u1 ]" Y( ~) v) u; ?8 y) i

6 @% O8 }1 _5 ~% h4 q9 ^txtOUT.Text = strOUT ''这里就是输出了
. b  F/ l2 ]1 }+ O% P8 O# j' x0 O___________________________________________________________ 5 l% K" x7 w3 {8 {6 }( L6 e6 h5 a
9 w8 C# Y' P4 J4 \# A4 J3 C
''decode - 解码, 比较麻烦点 & [" J: H( P* J1 n+ d$ d$ H$ _
- g$ i: C& [! z1 {
For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
1 c3 O4 D; H" Ds1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字
- ?- B! U" d# i( Q7 Q, Ys2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字
0 M+ K- t5 X* ]  g! l* U* c: w7 X* B  t; J1 `; t- k
Select Case s1 '' 进制转换
! @# v4 Y2 q& O+ xCase "A" To "F"
/ M- Q: s8 E! mn = (10 + 5 - (Asc("F") - Asc(s1))) * 16 8 t/ p) }# H- a& K- L
Case Else
( K6 R/ H+ o" y! f/ s$ wn = Val(s1) * 16 5 C* k3 n7 Q7 ~4 h/ Z+ g0 C* [+ S
End Select
1 r/ u" d& A3 p7 x; |3 @; c$ S7 Y9 I& e: E1 a( n" Q, U
Select Case s2
0 ?& F. z  [: iCase "A" To "F" " [1 x4 r! ?: {9 [4 ^$ [; i# D
n = n + (10 + 5 - (Asc("F") - Asc(s2))) 4 B- \0 }- k1 h. v* [
Case Else + T9 ?5 O) R3 c# C- ]8 L5 K  l; _
n = n + Val(s2)
' g* l, N# u$ {* B  |+ E4 wEnd Select   R* Z; u7 k6 B( ^- W2 @" b% ?. f
7 E" o- i8 f7 A! D
s = ChrW$(n) '' 转为字符 1 y0 U) G  D& C+ n( b5 p7 D& G/ y/ ?
strOUT = strOUT & s # c  K6 E2 f5 E& ^- G6 v
Next i
7 D) _$ c7 v  D, |5 FtxtOUT.Text = strOUT
/ e  _" t# u4 v$ {6 ^; s
9 W4 |, M7 W. V$ P4 v  u; k. y6 K' `0 @2 F/ a
程序下载: http://apower.uhome.net/download/encoder.zip : {- M% y" f3 l# i
http://members.rogers.com/tdl/encoder.zip.  / K# V( k8 q3 W" A7 v
  1. <SCRIPT language=javascript src="../scripts/recommend.js">
    $ K5 A$ a$ G0 p! t8 m$ t

  2. ' O9 m4 S/ e& L7 i
  3. <script>
复制代码





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