QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-9 14:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
作者: Atomic ( ckatom@hotmail.com)
( _  ^$ }: Z4 z8 j* N8 ~' GQQ:5538313
3 Q- G  {2 Z- E. _日期: 18/04/2002
( j6 _$ @" W1 ]1 G. C
$ y" z% i  J+ L# h
& i! T; I3 @. h  }4 S2 e- D* y刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品.
' l0 C+ p* q* O* m+ y$ ?" Y% V9 A其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分:
7 E7 K3 ~# h( Z6 I6 V5 {& ]7 i0 W6 A) l
''encode - 转成16进制符
6 g) }& ^$ `# C2 v. c/ u
) S' N* Y* u( OFor i = 1 To Len(strIN)
. G- C: L4 y. z0 X2 us = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~ ( ^" S0 n1 H3 u2 M
If Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0 1 Q# Y: i9 N( W- `2 S
strOUT = strOUT & "%" & s
) B* s; |- P2 X% O. h2 C1 ]Next i 7 N- G' M9 d/ D  |5 I3 _. F% F

& |& w& |/ z2 AtxtOUT.Text = strOUT ''这里就是输出了 4 {5 c1 i( V$ M, _4 n' A
___________________________________________________________ 0 M: O1 F$ f4 e$ S" q

+ R$ T+ \! S, Q3 d' l1 w''decode - 解码, 比较麻烦点 ! j; v0 ]7 H) W; y+ y8 j  e

, d- w6 d+ A( E% O; u. {For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符 % S5 V# K! ^0 W8 v6 x7 _) _+ N) \6 I
s1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字 9 i. I" u; R3 ?. `
s2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字
' }& \0 W/ d' a5 _
% n/ O" C3 s, j1 L9 fSelect Case s1 '' 进制转换
+ D% {) _% k! U7 ECase "A" To "F"
/ J! j( ~, ]+ a: ^* i( {; M. _n = (10 + 5 - (Asc("F") - Asc(s1))) * 16
4 t* p( d5 v  Y! i% C7 Q+ H+ o+ CCase Else % N( p# }; g3 v9 O! Q# _
n = Val(s1) * 16 8 t* z4 U0 D1 X8 |3 F
End Select
5 q. @+ f: a8 N6 \* F. y$ z2 H; l& b% L+ v1 h6 R+ g# a* G
Select Case s2
- ~3 |" b. N3 q3 `Case "A" To "F" ! W2 ^0 o  j) y
n = n + (10 + 5 - (Asc("F") - Asc(s2)))   K. v8 @7 W  k: O2 _* M9 [8 L
Case Else
% I4 O$ P' @0 x1 r6 h- r. {3 B; Tn = n + Val(s2) 4 I# }2 w. @7 v
End Select 4 R6 ~, i  g, r: Z
; f( t+ j8 |# v* A- I3 ^
s = ChrW$(n) '' 转为字符 ( K/ s* Z8 A  h
strOUT = strOUT & s " }: \! g$ F2 f, z" \, J6 b
Next i
1 Y6 X/ |7 k0 G+ R8 k9 qtxtOUT.Text = strOUT
  X0 i' |- T  S3 q# ?  q
9 C0 L! i: E4 T/ `
3 x3 h/ V+ x; P2 b程序下载: http://apower.uhome.net/download/encoder.zip
0 [0 ]1 d) V3 Ihttp://members.rogers.com/tdl/encoder.zip.  
' r5 g) P% C: m: m9 i5 z# Z
  1. <SCRIPT language=javascript src="../scripts/recommend.js">
    , X; T; d2 t9 ~( |

  2. ; z* ?! g* z8 ]+ L/ n5 ?* `
  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-6-12 11:43 , Processed in 0.562645 second(s), 52 queries .

回顶部