QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-9 14:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
作者: Atomic ( ckatom@hotmail.com)
6 D9 P  U% |- A+ F: WQQ:5538313
, |! b1 ^! }9 t7 K日期: 18/04/2002
# x  l) ]7 o4 Z' g
8 @! p/ ~' e: ^
; t1 v- B' p* b: e* z刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品. # |2 N8 O) e0 R* g1 v: q
其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分:
0 T5 X# C  s5 `
9 s  Q4 l4 [3 ~9 M) |''encode - 转成16进制符 $ L$ Z8 E- u9 y6 g& b

6 E% _/ v; ^/ e3 t5 r' t+ p! \For i = 1 To Len(strIN)
$ V$ l5 b, O+ m$ V# fs = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~
0 Q# I" S% H7 O+ k: b' a: n% u. e8 gIf Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0
- X! S6 g7 m1 S. G' JstrOUT = strOUT & "%" & s % k, v$ R" _3 W7 K
Next i
( U8 G3 c! s) L2 A
5 G$ b: X6 r$ V- A7 P0 ttxtOUT.Text = strOUT ''这里就是输出了
# L* e  I* X" C& X% G3 z+ e___________________________________________________________ 7 k( g) n4 a- n

& J( S5 r1 l# U1 ^& P& J0 o% x& ~''decode - 解码, 比较麻烦点
7 o7 a; V+ _4 E8 R" R, {7 r8 i- Y$ O) Q, z
For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
9 K, U0 \. S' m% ]# O; f2 E/ is1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字 ( u. A& z4 H3 i1 Z- i( j  T
s2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字 % w; n' M' |6 O- R* B
  o3 f6 W+ Y& t& x5 t7 K# x
Select Case s1 '' 进制转换
1 T# r4 K, _1 k" X; HCase "A" To "F"
. m- _9 x8 ~4 r( ln = (10 + 5 - (Asc("F") - Asc(s1))) * 16 9 T, P1 N  E. Y; O
Case Else ( W4 E$ F3 P% n, ]! Z
n = Val(s1) * 16
2 W3 W/ Q4 p0 J/ F: W$ g$ VEnd Select
7 _! M$ C. A; ^* |2 f  K9 L1 J$ ?7 Q; [# }+ C, D' X0 ?* k$ Z: g
Select Case s2
) a+ J. b* Z/ M' B% I6 YCase "A" To "F"
* a0 c* V2 g6 m9 m8 L) h  h5 Zn = n + (10 + 5 - (Asc("F") - Asc(s2)))
1 y7 G% z2 v8 c/ k8 L0 ]Case Else
8 Q; h8 z4 c" [n = n + Val(s2)
( |* W2 l' S( X  b! i- t1 ~End Select
/ T3 I- m- |! {' c) j1 M' W$ A5 ]. m5 |6 R( ]
s = ChrW$(n) '' 转为字符
: v4 Q/ D6 r. v2 E1 p- G+ TstrOUT = strOUT & s
& y" u0 t& O8 I9 Q/ ONext i
5 A$ Z0 I9 ^5 B( btxtOUT.Text = strOUT . U3 ?8 f/ T+ p+ z* Q. J0 }$ _

0 O* ]. S. d: L3 I+ e1 i0 Y+ K) d/ J2 b7 |' i
程序下载: http://apower.uhome.net/download/encoder.zip 4 Z/ B9 p! t6 c. S" M+ ]
http://members.rogers.com/tdl/encoder.zip.  ) F) a4 I. R' D! [1 \: Z
  1. <SCRIPT language=javascript src="../scripts/recommend.js">
    ! b1 R2 l: d0 Q; B' L0 X
  2. \" L2 w% k0 n: [9 k7 {
  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-18 14:19 , Processed in 0.325267 second(s), 52 queries .

回顶部