QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1915|回复: 0
打印 上一主题 下一主题

利用URL编码进行加密 [源码]

[复制链接]
字体大小: 正常 放大
韩冰        

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-9 14:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
作者: Atomic ( ckatom@hotmail.com) % q- ]. _) R1 y" [* l4 Q
QQ:5538313
5 A% S& J9 ^* J% |) L; }7 W1 {+ W日期: 18/04/2002
; A/ h, e7 y$ a- n2 R9 n2 A' u) P2 J5 [3 B2 G- M& ?$ r
3 N, e3 n" X+ M
刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品.
, o- m$ s( L7 {6 l0 ]* V& U$ }$ X/ h$ x其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分:
0 \8 T6 K- y1 K2 f7 b5 S5 m  l( e( s2 u8 H- e
''encode - 转成16进制符 ) D7 g$ P8 P$ B$ N3 r

) v0 G+ G2 C9 S7 I* s0 G7 x* O7 cFor i = 1 To Len(strIN)
+ i8 _8 A6 S+ bs = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~
* O* |: P! s" l9 h% J; tIf Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0 8 N2 n# x$ T- e
strOUT = strOUT & "%" & s 2 i) ]1 V1 Y9 K- O$ Q$ ~
Next i : q9 d8 \  e5 u( u/ w; t8 X

4 F' M" ?6 o! }* t3 c5 c7 itxtOUT.Text = strOUT ''这里就是输出了 " l! \8 l$ s% r1 g" L
___________________________________________________________
  b5 a$ _- u3 |9 E6 _
. J# a8 m' B+ Y3 _''decode - 解码, 比较麻烦点
; i) q3 d: a: {# w: t' n1 d
8 o  }9 S* _2 x( c- k6 l9 eFor i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
3 i! q1 L" X4 P9 _s1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字
; I7 F/ G9 p/ }* v9 V8 p' q/ J% o0 ~3 js2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字 ! F- w" n% f) m! K! H: l$ o
( G1 b- k1 e  @2 ?' G1 ^
Select Case s1 '' 进制转换
6 y" a, W$ h7 J, U% u- DCase "A" To "F"
' \+ D% D/ Y5 q" Jn = (10 + 5 - (Asc("F") - Asc(s1))) * 16
( f: A1 M' k- [% w% WCase Else
1 X. @) P( h% O5 g. J7 b2 ~. i5 En = Val(s1) * 16
) G: X2 U9 S/ H+ }2 m5 b% e+ jEnd Select
1 u& s) [# F8 m( e& ?& z3 E# q
& b2 g# ?- p2 ~0 ~3 _7 u9 }1 TSelect Case s2
* w  A  Y# @# L2 s9 P* G0 GCase "A" To "F" : t! A& P- _3 O9 J
n = n + (10 + 5 - (Asc("F") - Asc(s2))) * d! N2 ]4 q8 J6 _! i
Case Else
$ t, h0 B( o" ^3 l7 ^: d, C0 wn = n + Val(s2)
$ V2 m6 @. X" Y/ Y5 PEnd Select $ x  J2 M4 ~- Z6 |" U9 ^4 I- L2 y5 I

* _6 k4 e* Y& I; e% _+ S  e8 Q7 a5 Ds = ChrW$(n) '' 转为字符
, P6 d6 ]' D. `strOUT = strOUT & s
3 W7 v; s* w4 a  ?Next i ! |1 K" D; T$ F& I2 L5 k4 g; A  N
txtOUT.Text = strOUT
. Z1 m4 |' j8 X
! d7 U( B+ i1 g; l9 z2 X2 v+ J$ J; o0 K: k6 D( ^! `+ z
程序下载: http://apower.uhome.net/download/encoder.zip : M8 o4 Q6 b5 q% a1 D3 i& f9 A
http://members.rogers.com/tdl/encoder.zip.  . y1 f6 R  U: L& r! i7 K
  1. <SCRIPT language=javascript src="../scripts/recommend.js">
    * Q6 B$ ~' j6 I\" W/ @3 R; l* b
  2. . o3 }/ U1 h! b- b
  3. <script>
复制代码
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-4-19 13:25 , Processed in 0.386628 second(s), 52 queries .

回顶部