QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-9 14:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
作者: Atomic ( ckatom@hotmail.com) % H( a, {4 x- a
QQ:5538313 - R2 h8 \) ]; r. D
日期: 18/04/2002
" Y  ^# q6 J$ g6 c
! z$ C/ E4 U8 H7 i; H7 E; m2 o- v/ }+ t# x6 ~, H
刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品. 8 i  L% Y  X3 Y) ^5 c
其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分: 4 a( m+ J# g. Z& Q# J" R
. g, s( w5 i/ d+ f4 w: z& V2 N
''encode - 转成16进制符 2 U! R0 K4 l+ J+ T3 }2 o/ @4 {; t/ c- s

3 `+ _! E; B+ y' O; A# F; mFor i = 1 To Len(strIN)
; l7 `; r# l) t3 F' W" Js = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~ 8 P1 r2 o+ R7 e5 x0 G9 l7 T
If Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0 ; h  T; m5 M! C9 e  P" W) r
strOUT = strOUT & "%" & s
# C, i6 Q; `7 X5 ]Next i
& }" B& E& N/ ~) w) s9 J9 I$ e/ R7 g' q! [
8 Y& O; }% d, i: _txtOUT.Text = strOUT ''这里就是输出了 : q3 l- N4 g+ _9 g, X' Z: T
___________________________________________________________
  Z! H) P1 `/ S' z/ R7 \. l( P
* W8 i1 e% b8 e9 I4 Y4 }9 t( s''decode - 解码, 比较麻烦点
1 B' C7 `1 O2 ~) i$ \# C0 L
0 o0 I; C- F3 J8 ~For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
  B0 P* `8 q( ~( }- g& ws1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字
3 j. H! c0 Q9 D  U9 K6 Ds2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字
" I7 m3 |1 O3 w
$ U- R* t) o; W3 q/ m! F# l8 VSelect Case s1 '' 进制转换 ; g3 P; u( h- o) s( O7 g3 M
Case "A" To "F"
* m2 O& [& r- @7 d( j9 W1 F: Un = (10 + 5 - (Asc("F") - Asc(s1))) * 16
; r1 Z! F& U! K: G0 [: u  Q  |Case Else
3 m4 t7 G+ m5 O: z9 |n = Val(s1) * 16
: ^6 b: A+ _4 j1 t/ z  d. [8 PEnd Select 3 U( s. k. q9 u1 C/ K& `

3 M- B2 a" }6 N, m# CSelect Case s2   r# I! v, i% U8 O: f3 y5 }8 _/ Y6 ~
Case "A" To "F"
! ~' y3 `- H0 l: w* N0 bn = n + (10 + 5 - (Asc("F") - Asc(s2)))
7 B+ ]! c1 t& G; ^Case Else
1 Z8 d+ {( j: v  U) Hn = n + Val(s2)
7 H' Y5 ]6 n  ]% y6 o7 UEnd Select - V, f) B* t$ D9 r/ G- W

. R* K! U6 W" X0 Q( z( ps = ChrW$(n) '' 转为字符
3 J; Z; H: Z! P/ O- `" w$ @strOUT = strOUT & s
1 M: T" q1 M5 j0 Q$ ANext i
0 B0 l! K" f" G% L. d/ DtxtOUT.Text = strOUT
1 o4 z; M7 |) z/ `
  \% G* z0 i! D6 k  I* I  _( }* F' G# R
程序下载: http://apower.uhome.net/download/encoder.zip
& b, U5 n: o1 B; {/ ?% vhttp://members.rogers.com/tdl/encoder.zip.  
$ W0 h9 ^% E4 w1 [
  1. <SCRIPT language=javascript src="../scripts/recommend.js">
    % @/ Y8 n; V, E6 C2 i

  2. 3 ]; F# D- c, A
  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-20 04:18 , Processed in 0.420344 second(s), 52 queries .

回顶部