QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-9 14:33 |只看该作者 |正序浏览
|招呼Ta 关注Ta
作者: Atomic ( ckatom@hotmail.com)
2 U) J6 ]+ K- E2 }( ]QQ:5538313 ; _% @& ]' L% A9 H5 B$ r
日期: 18/04/2002   b, }; y8 H$ W4 e; }; c9 D* i
7 B: l5 ^; ]! V( Z1 g. T

3 c2 m- Z; B+ m9 v( \刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品.
$ d5 h, O; \  D6 p- A其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分: / E$ w4 U8 r1 ~: s

) d& m8 y2 Q3 V4 ^! G' }''encode - 转成16进制符 3 b! l/ Z5 y  U# Z. _- i0 k

% J8 ?7 g  O) J' @0 UFor i = 1 To Len(strIN)
- ]; X# ]& d& [0 O7 a* h: H. q) os = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~ 0 e2 \$ B9 _8 l  b) `! k7 f' I  I
If Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0 $ P$ L* i$ K, e/ o
strOUT = strOUT & "%" & s $ ^. d1 t4 a7 Z8 J! h2 l/ B
Next i $ n. {5 A3 {' r3 K0 h1 e
8 L4 d$ l* f9 R+ {0 j$ s
txtOUT.Text = strOUT ''这里就是输出了
" F( c- r, F" a. ^1 w) ^___________________________________________________________
* a- \$ J5 C& X% ~6 v8 Y+ x* u; K/ F, ~, g
''decode - 解码, 比较麻烦点
( G7 X7 Z) E" _  h' g+ V0 R1 Z$ O: p: y" i6 L! E
For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
; s4 t( |! O- Q6 m& J% ^$ y+ Qs1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字 0 w8 }* l% E% m- d  y- {
s2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字
, Q  a7 I8 D; l; d0 \
2 v: A5 X# a) x4 X: RSelect Case s1 '' 进制转换 * o1 z8 o5 t- F1 d1 n  M! }
Case "A" To "F" ! v  K+ g  C# n- b9 X
n = (10 + 5 - (Asc("F") - Asc(s1))) * 16 : i& ]) W  {  O- p8 r
Case Else
* D, E1 j( |% D; C5 T" s3 Y1 in = Val(s1) * 16
) Q+ o$ y7 {' d6 v+ K: aEnd Select
9 i) w' s1 d$ l
! v: e1 k  A, s/ ASelect Case s2 1 N6 n3 r' n9 ?# J$ L; ^
Case "A" To "F"
" Z7 g8 X7 a. e' q" n7 hn = n + (10 + 5 - (Asc("F") - Asc(s2))) $ r4 p7 L& U  x8 t
Case Else 5 d: e# X3 W+ [/ W( N
n = n + Val(s2) 4 O0 E; N' P9 a4 T! C0 Q! s) ^
End Select   @3 n. p: }% J# ?7 t" [- R- w6 _
* t) L. k( X# h( E# h) v& M9 \, V7 y) J
s = ChrW$(n) '' 转为字符 : R. j/ t# N6 v/ n3 W* z$ Z
strOUT = strOUT & s
$ U* o1 z# v; H5 qNext i
. A; H3 s' v3 W% YtxtOUT.Text = strOUT ! n. ?- p2 @; R6 ]

* j( _8 m. {- e: c* |% \6 P4 p( w
+ d7 Q6 p+ _* s5 @& @+ _4 p( q. D/ X程序下载: http://apower.uhome.net/download/encoder.zip ! p; I- V1 o" H; i! Q% K
http://members.rogers.com/tdl/encoder.zip.  
2 ]7 b' z9 C- @, [
  1. <SCRIPT language=javascript src="../scripts/recommend.js">6 V  P0 S9 G% `7 f5 B

  2. , c( i' n+ K' ~) ?! N+ M5 s0 k$ y
  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-19 03:50 , Processed in 0.422583 second(s), 52 queries .

回顶部