QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-9 14:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
作者: Atomic ( ckatom@hotmail.com)
3 P/ f; r# d% gQQ:5538313
  F( t1 D" W- B0 a' \8 E; N: @日期: 18/04/2002 " d9 _6 ]- z0 R1 R4 J4 D
" ]' ^/ ^4 r. ]4 {; S2 W. ]
/ {7 B5 X. s# j4 @# ?
刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品.
, A4 Z' v$ E; K( J" }$ v3 y其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分: , a- q- {$ U; F& s* G5 n0 A
, l* U% A' ^7 H. c  A
''encode - 转成16进制符 # e( R8 O1 c5 Q; Z* A7 W4 w
# X& @0 Q6 V) A9 y
For i = 1 To Len(strIN)
2 i2 e: q: W; z0 E! ?0 Ms = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~ ' x6 i8 u4 t" h6 {
If Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0 % I3 g! Q) s2 [( P. `5 W$ z+ K
strOUT = strOUT & "%" & s + o5 ?" N0 E4 K0 g  l; w" R. n( U
Next i & y7 O; Q9 d) O  c$ l; i  S& `
* \: Z) q; S( D- C
txtOUT.Text = strOUT ''这里就是输出了
( T, j4 e( x, c- {+ H* U: C___________________________________________________________ , c5 Z( h( ~! i5 @6 I3 P- E
6 \$ v& o' g- {( V. M) }
''decode - 解码, 比较麻烦点
$ d0 C! k" i( s3 n0 P7 d  V1 S6 i/ e. A/ g9 G8 ^/ `3 T5 [
For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
( [& K) M3 S& k( W/ O3 \s1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字   F/ k5 ^. j$ }
s2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字   `. H0 H3 l; n+ C- `5 V

2 [% {9 e/ F; _  Y! H  kSelect Case s1 '' 进制转换
; W9 q+ C, Z1 A6 C4 @5 BCase "A" To "F" : m' ~* `4 [8 j% u
n = (10 + 5 - (Asc("F") - Asc(s1))) * 16
. b1 i: w4 j8 x! k4 |8 F# XCase Else + H8 i( c  P' q( p+ j* E
n = Val(s1) * 16 2 X; [2 y% l' k  _3 L$ r
End Select
) B0 K3 A4 g/ x6 e! W' w, ]$ Y8 {+ d, H/ n( c0 }! l: M. H& ~/ ?
Select Case s2 5 f, A2 D5 I& _% V
Case "A" To "F" + V' a1 s* `$ f) w3 f$ u
n = n + (10 + 5 - (Asc("F") - Asc(s2)))
% i% y6 D  U2 s+ ^) Z' ECase Else 4 |) r. }  G7 v5 i! {  q
n = n + Val(s2)
3 M; E, a" h2 U8 O; W5 _1 R# wEnd Select 1 i5 G2 a; Z% {* B: ?6 C

) M* \6 \# p1 `9 Z9 fs = ChrW$(n) '' 转为字符
  Y) o. j" Y/ F- s% e0 YstrOUT = strOUT & s 2 ^6 _* C! L' j' Z  c: B" R
Next i
# W% {: J: o, o$ U/ ztxtOUT.Text = strOUT
/ H7 X1 s$ l! \2 ]3 |/ ^! c9 D+ n, g- Z3 q! N

  b; l+ ?6 R& j程序下载: http://apower.uhome.net/download/encoder.zip / T% v5 h' c7 v7 j4 d1 Z* Z& m, O
http://members.rogers.com/tdl/encoder.zip.    Z/ |2 l$ M4 v# b, C% s
  1. <SCRIPT language=javascript src="../scripts/recommend.js">
    3 k* ^& ~3 M; A+ K6 i5 A7 @: e
  2. 0 P\" |) s' J/ m; {& k; w$ P
  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 06:43 , Processed in 0.416700 second(s), 52 queries .

回顶部