QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-9 14:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
作者: Atomic ( ckatom@hotmail.com)
7 f5 ]3 n$ g* ?, T* O5 B0 j1 jQQ:5538313
' q& E5 ?3 p# d3 [) v. J1 B  u日期: 18/04/2002
3 ^+ W4 |/ u( j/ V; N8 f$ n' E( `4 d

; e3 H4 h9 h' v  V: v刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品. , y% {" i0 x, x  d; L  e4 i8 W
其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分:
' b! x. X3 U8 h/ S% o4 _
- ]. d4 P; b+ ]6 H''encode - 转成16进制符 & q0 q1 w5 l' C
( e, J5 R' H2 P5 ^
For i = 1 To Len(strIN)
7 O* d6 ^- c* v" ]6 K& Ds = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~ 6 e1 \6 P4 c3 z0 E
If Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0
2 V/ v* }4 R. d, y& m" C, H) ZstrOUT = strOUT & "%" & s   N" i- _1 S, R1 d, y% V( P; Z. ]' h
Next i
: D( R  O0 j' S2 R2 k; B' B" r  M3 R/ B; l9 u* s! t
txtOUT.Text = strOUT ''这里就是输出了 6 v8 v- X7 g" u' x4 f
___________________________________________________________
% T5 Q4 a+ A- b2 G
: h4 u6 C6 ?( }3 }, X''decode - 解码, 比较麻烦点
; Z1 Z( C: K4 v4 w% z+ }: D: h0 d% @
2 t2 K: J) ~5 c9 q5 @+ L) oFor i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
5 t0 b: n& h" x& gs1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字 / s  A  Q/ ^( ^% f" S* e6 Z+ q
s2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字
4 H) ]0 `: Q" [9 B- p0 V8 f' z# U: L
4 \) h0 m' P: p& I% ~; YSelect Case s1 '' 进制转换
; X1 X( ]0 H  DCase "A" To "F" 6 i5 V2 [# I% P% a
n = (10 + 5 - (Asc("F") - Asc(s1))) * 16
5 R( d% O' @' b7 G1 w/ SCase Else
# G8 V: C; }* s$ tn = Val(s1) * 16 6 G, n1 w' W4 {0 R, }" J. r
End Select ; e* q: ~; h. ?2 ^; _

- b, o+ n. {  ?- @: pSelect Case s2
( [$ X' V5 H6 n! K4 LCase "A" To "F" ' g7 ~% [8 l1 b8 O) \
n = n + (10 + 5 - (Asc("F") - Asc(s2)))
" ]% k) E& n9 V5 J* m( ]" QCase Else ! \+ H/ {7 I( c/ W) ?) X, I' B
n = n + Val(s2) ' O0 r+ G1 z* z  t
End Select + c# w0 `! h) t+ d& B5 y' m! u" x
/ d+ N. n$ \- H1 {: @9 B4 M
s = ChrW$(n) '' 转为字符
8 M# h6 ~. T4 A" T, ^/ `5 EstrOUT = strOUT & s
! ]/ u( K. q9 |3 ZNext i
1 [$ s  p8 ]: b1 LtxtOUT.Text = strOUT
5 i# j1 R; Q0 b- V0 a( r1 _3 n# O* B* P" V

; K, Y- Z. N% p% ?) K$ X程序下载: http://apower.uhome.net/download/encoder.zip
6 T9 _% s" {$ ~0 B! n" @. g( Ohttp://members.rogers.com/tdl/encoder.zip.  & G$ J2 H7 R' j( h, A3 A
  1. <SCRIPT language=javascript src="../scripts/recommend.js">4 C8 F1 p! s4 S6 @+ {% c
  2. 9 Q3 i4 O# I+ l3 d2 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-18 22:29 , Processed in 0.396229 second(s), 52 queries .

回顶部