QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-9 14:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
作者: Atomic ( ckatom@hotmail.com) 0 N3 m# |1 Y. ^0 C
QQ:5538313 . u) e/ t" A  h6 L/ [% m& U
日期: 18/04/2002 5 D) x  I0 K$ R# ?: X( t$ p/ \" D

0 Q1 F( r4 s. V2 b3 |0 _  i- O& N9 A1 `
刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品.
# m! p3 i' p, f" l  s' n8 d其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分:
! p) l$ J; G4 B2 V
4 X1 I( Y" R8 g''encode - 转成16进制符 6 U& j0 E* n( u4 U  T& m
/ R; v$ P& W% S8 w6 B: p
For i = 1 To Len(strIN) # h0 g$ E1 n$ u/ x+ F
s = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~
. `6 V( e3 `! I& @& s7 V5 x2 [, HIf Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0 + z2 o, {: X/ g: C5 w" e( l( R
strOUT = strOUT & "%" & s 7 N/ X0 r$ _6 L) m1 @* a; O& a
Next i 4 ^! ?, y) V0 `! ?6 c4 y+ b" X4 p- Y) k
7 N/ k0 A- p6 V! ?
txtOUT.Text = strOUT ''这里就是输出了
7 F+ _( P3 L1 _0 ~) o- M6 H! v) x8 q___________________________________________________________ & m8 j! Z. W/ o1 T* D/ p, ]

1 e3 b+ u- R& Z, i/ T''decode - 解码, 比较麻烦点
* n' R0 n3 y# n: [( O% J  {2 q  [4 ~6 Z3 ^/ s2 I0 `/ [8 _. a
For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
0 R2 }6 o+ T) z: ~. F# x/ K: Os1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字 9 S* U$ q) ^/ t
s2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字 * `4 g) D: X  \% w7 J
; a0 D% B. t9 r: @% F
Select Case s1 '' 进制转换
: N& \/ x0 C. QCase "A" To "F"
/ _1 ^# v  l6 @  J: Wn = (10 + 5 - (Asc("F") - Asc(s1))) * 16
4 h, m. K8 L7 [/ b3 Q6 C) h0 [Case Else . Y: Z1 g' Z1 u3 k* |2 N
n = Val(s1) * 16 ; C1 m' K1 r, n4 V
End Select $ F! `' {" T$ X! J# E" Q' C* u
' O+ w- {- M0 W' i
Select Case s2   k) n: W" r% ?- W
Case "A" To "F"
: i% d* @/ g) Q: N- Sn = n + (10 + 5 - (Asc("F") - Asc(s2)))
2 u2 k$ I7 w. p! {1 M4 J8 c# QCase Else
& y$ `4 c0 T$ v1 b6 ]# j. _5 ~n = n + Val(s2)
" C2 _4 M0 S" D( iEnd Select . Q5 n( t/ G$ c8 H

$ q' `3 D9 [! T! js = ChrW$(n) '' 转为字符 . P) @* D0 ^( L6 B
strOUT = strOUT & s . {9 ^3 e! \5 G) e5 Y
Next i
3 {/ i( S) k/ d' P+ J2 y" v/ q/ atxtOUT.Text = strOUT 3 W9 |# s, H9 d: M" w" R0 `

/ L3 f7 G- F0 o* y6 q+ E' |* w
7 Y9 Z: e+ \2 T1 V( p9 r4 @: H程序下载: http://apower.uhome.net/download/encoder.zip
: P% U7 G: n! q/ ?. _# ^http://members.rogers.com/tdl/encoder.zip.    B0 A7 a6 d7 I4 Z/ q! K4 e: k' v
  1. <SCRIPT language=javascript src="../scripts/recommend.js">
    4 m/ W; @% G2 }7 k
  2. 9 P0 q7 m\" w& e6 C$ S
  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-6-11 02:03 , Processed in 0.411297 second(s), 51 queries .

回顶部