数学建模社区-数学中国
标题:
利用URL编码进行加密 [源码]
[打印本页]
作者:
韩冰
时间:
2004-10-9 14:33
标题:
利用URL编码进行加密 [源码]
作者: Atomic ( ckatom@hotmail.com)
) @! r( P/ w w# p
QQ:5538313
4 l( @: N" P9 F5 K' T) {* f$ a2 K
日期: 18/04/2002
+ W% H' G: [+ P9 H' j
3 s3 P6 @9 d8 i1 |4 A3 G( _
! g, x, b( }+ J9 B! q6 \- f0 {9 o
刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品.
r) q: S4 M7 X+ m8 } v F% t
其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分:
8 _0 d& M; q( n! S
8 X0 C8 o' u* f3 L
''encode - 转成16进制符
) _: d+ K! R! z$ a$ G
% ^: Y: L6 q0 Q, U1 ^; Q8 h' d
For i = 1 To Len(strIN)
- I' E r2 Q9 W0 W I7 }$ B0 D. n
s = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~
5 ?' g' B6 b& E; A" V: w
If Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0
4 k) H& y: @% \ O; Q
strOUT = strOUT & "%" & s
1 z+ j3 a+ Q* B3 }: G1 n; J. B2 [
Next i
- j; }4 y' p. s4 \, Y$ y3 q3 f# y- k
; h1 ]1 l+ R; |, F4 u: h, Y/ w# j7 P
txtOUT.Text = strOUT ''这里就是输出了
5 D1 K8 u w1 d' E2 f4 [. Z
___________________________________________________________
' R" v7 r4 |" R8 i, _! G& l' H
" u- W% A6 X0 \: A _* |
''decode - 解码, 比较麻烦点
+ C3 E7 \- S9 J
1 e' E# v5 D5 V! u+ [
For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
5 b! x9 w* N& t' [% x
s1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字
9 M3 m) K4 ^# F
s2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字
4 w' i- }, Y' g. ?$ Y- F6 Q
4 Q9 a) ~: X$ I
Select Case s1 '' 进制转换
1 m/ U# G4 `3 j0 z$ h! @0 ?
Case "A" To "F"
1 z7 W. Y4 c9 Y! g* r4 E
n = (10 + 5 - (Asc("F") - Asc(s1))) * 16
2 ^9 l, {% Z% b( S: E' y
Case Else
^9 I' \4 Z5 D/ U$ ]' B7 F- L
n = Val(s1) * 16
: E5 r. o7 U8 X0 ~4 t
End Select
9 j$ ?' q3 N# f& `6 r
: ~5 `0 s+ a ]% w. B
Select Case s2
' z& D H3 H0 w4 H1 n. E; k8 k g; l
Case "A" To "F"
* a# X) c# J1 u, N6 J$ Y4 U5 ]
n = n + (10 + 5 - (Asc("F") - Asc(s2)))
! i! d$ K! W/ w0 O
Case Else
) m8 u9 _5 t( P# h( `0 a$ d$ l
n = n + Val(s2)
$ i( j* y- G: I( E s1 f
End Select
0 H% D7 Z: U! g* R
( x& ?8 t, N( r! F" e; l# @1 e" V0 n
s = ChrW$(n) '' 转为字符
7 l, Z! F6 C+ Y( O1 ]
strOUT = strOUT & s
1 V, v2 F2 Y$ H' f* b
Next i
; ]7 z: ^% W, A H3 L3 \ ?4 i& b) ?
txtOUT.Text = strOUT
' O; D- q+ }: C" q v: h+ z1 r
& q2 t9 p; M4 i1 ^ y# Z, R
; U2 r7 t$ L/ s* j/ d! K$ |+ N1 J
程序下载: http://apower.uhome.net/download/encoder.zip
. d r/ |9 w* R- T7 l1 l
http://members.rogers.com/tdl/encoder.zip.
4 `; t+ I. V) C- U# @2 i0 B
<SCRIPT language=javascript src="../scripts/recommend.js">
. @! A! D& }) [) O( [7 \
8 y% k8 J, W& `2 K
<script>
复制代码
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5