数学建模社区-数学中国
标题:
利用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) Q
s = 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" m
strOUT = strOUT & "%" & s
7 h% W# h1 B7 p" N: f
Next 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" D
s1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字
- ?- B! U" d# i( Q7 Q, Y
s2 = 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+ x
Case "A" To "F"
/ M- Q: s8 E! m
n = (10 + 5 - (Asc("F") - Asc(s1))) * 16
8 t/ p) }# H- a& K- L
Case Else
( K6 R/ H+ o" y! f/ s$ w
n = 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 [: i
Case "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 w
End 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 F
txtOUT.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
<SCRIPT language=javascript src="../scripts/recommend.js">
$ K5 A$ a$ G0 p! t8 m$ t
' O9 m4 S/ e& L7 i
<script>
复制代码
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5