QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-9 14:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
作者: Atomic ( ckatom@hotmail.com)
4 R( M0 ]3 d$ J' d* ZQQ:5538313
  h. Q5 F' }$ w8 Z3 a日期: 18/04/2002 + d. A' t9 f' \; R: L. m7 L

- J0 U/ v, W- |
0 y' y3 v1 B3 Q刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品. 9 f1 E' |$ g( k, S4 [) c2 W
其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分: " x3 k6 w2 O5 y, ]& j4 G5 `
6 Q, N: ?4 t3 c5 S  g" C
''encode - 转成16进制符
# |6 C% z; H4 e
4 Z7 ?$ j/ R) r8 p+ ZFor i = 1 To Len(strIN) 8 C# `* }+ _8 _
s = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~
0 P( k& z3 |3 D) @8 ~& D: bIf Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0
1 k  T: L3 P7 Z0 k& dstrOUT = strOUT & "%" & s
6 `5 A; y. b' aNext i
3 D6 d. [8 x2 T' c1 f4 g* S' }" o! Q( {/ m
txtOUT.Text = strOUT ''这里就是输出了 7 Z! X6 n) f7 S, d! o
___________________________________________________________ 7 A0 A& D( ^+ Z/ @

9 T' s4 O: I8 c) d2 q4 t+ g''decode - 解码, 比较麻烦点
$ a* @' m5 ^" G2 |* H8 z  L" `' u5 Q: r0 y
For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
2 }8 i  t5 e7 n- x' l' X* As1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字 ) K9 a. k! l  e' u$ o- Y  }; o
s2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字
/ m* w1 |" V* a! v* a+ l5 J8 {( h. ^1 S( T9 p
Select Case s1 '' 进制转换
6 q) t0 B( u, V2 Y. d, qCase "A" To "F" 1 N- L4 W2 _6 R+ W
n = (10 + 5 - (Asc("F") - Asc(s1))) * 16 6 a2 }8 B- @5 F% F* {# z
Case Else
6 b/ x0 P+ H* t* E, {n = Val(s1) * 16 , n6 e( Z& S" y; v/ b3 n
End Select 6 E2 U2 ]+ g/ ^/ P8 I  H: H# F

% g6 I0 y# a6 y' i( |6 @2 nSelect Case s2 5 |$ \* K; ]' Z  I
Case "A" To "F" * b" m, h2 I, d. m8 N
n = n + (10 + 5 - (Asc("F") - Asc(s2))) # M( ]; V2 f$ b* K; g" H* U8 ]
Case Else
' G6 D& B% p8 v9 U1 B5 G7 ?n = n + Val(s2) 7 b) c) @$ L. ^1 i7 P
End Select
9 A- ]/ n4 l- Q* r" B# B. q: e6 u8 F/ h1 x* g- f: W( P
s = ChrW$(n) '' 转为字符 ) v) ?. F2 [; E# Y
strOUT = strOUT & s ; R4 `- v6 o, K
Next i
4 O: S+ e6 o: etxtOUT.Text = strOUT
; D( K* z1 p3 \2 U  Y* J: x! O8 R4 [4 I  G% f# k
. Q* u, T3 H# b' M3 |6 K3 U
程序下载: http://apower.uhome.net/download/encoder.zip 6 P" N  e" n# Q5 H4 y7 z3 X/ u
http://members.rogers.com/tdl/encoder.zip.  * E+ f4 I5 b# q2 F- t4 ?$ o4 u
  1. <SCRIPT language=javascript src="../scripts/recommend.js">
    ) e/ R* R0 K5 E8 D$ t: o

  2. * z) Q1 Y, B8 F
  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-8-27 05:28 , Processed in 0.347122 second(s), 52 queries .

回顶部