QQ登录

只需要一步,快速开始

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

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

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2004-10-9 14:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
作者: Atomic ( ckatom@hotmail.com) # a1 o9 m4 @6 ^4 P& m: _$ H: O# e
QQ:5538313 . R- }$ A5 v, M1 {( Y
日期: 18/04/2002
5 Q; m& c) Y- E& `
0 z& r  C2 O( s: y- |( ?
' E5 m3 g8 R, f8 [1 K1 R: E刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品.
, _1 t: w' l/ ]; f其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分: * [: T' h' C5 |9 {2 h/ Q( p

  \* \" m0 b( R''encode - 转成16进制符
/ p7 b% K  U4 a1 r* f$ N( z, w. k# Z! w9 y0 _7 \' X7 z1 ~
For i = 1 To Len(strIN) + Z4 @  d+ x3 l. j6 L
s = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~
$ u: t3 V2 R* i- ]0 UIf Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0 ! P3 Z5 M9 Z# g, v- k3 L
strOUT = strOUT & "%" & s
$ [% Y# _2 ]/ e) \" H! I) `/ j& z2 H  bNext i
4 v! I; z# S/ v- M; G5 c: a6 `  r+ ^# h* w) x. _0 [
txtOUT.Text = strOUT ''这里就是输出了
( u) g9 J  T1 o8 j' D% j" [* r___________________________________________________________ ) K( @$ o" ~* I' F" D! s! M

" Y5 u5 h! i7 s/ c2 W: T0 J''decode - 解码, 比较麻烦点
  w* h# O9 G- l# L; l7 h' O. z$ ^1 Q+ O5 H; r: \
For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
* p5 ~) C, e8 S7 D) I( x5 X/ w# ?  ss1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字 + R4 T" p1 t2 P( W7 o
s2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字 2 s/ R$ \% d  ^" V4 `3 m) [' a9 `

* _; K0 u. F  z8 T7 ]Select Case s1 '' 进制转换   F6 M) p" \$ ?
Case "A" To "F"
. M3 _' K, T$ @. ]" p' I  _. `  tn = (10 + 5 - (Asc("F") - Asc(s1))) * 16
' z. y! X' K* g' Y3 OCase Else + C- {1 i; z0 ^' y9 K
n = Val(s1) * 16 4 f5 o# X* h% i  m) Z; X& i
End Select 0 l! h) P3 R. R8 B9 P' M, k4 o3 x
& U) m6 {- D; t' A+ r
Select Case s2 1 f& S! x" S  w5 p9 Y- `# a
Case "A" To "F" $ B' m! q+ n& ~8 ?8 F. q
n = n + (10 + 5 - (Asc("F") - Asc(s2)))
5 n* R4 f5 B6 x+ @Case Else ' I( c6 o* |# M, \
n = n + Val(s2)
; a3 I$ J/ }: O$ _0 ~. B4 J6 j! E9 m9 W: VEnd Select 8 ~- f9 V( b- v: _

% G* Y3 x- ?0 S3 M5 o. Is = ChrW$(n) '' 转为字符
" H( ^% A: J: X' E1 ^) G" j2 \' a+ EstrOUT = strOUT & s % ?$ T. }3 {9 \0 M! {5 M4 u
Next i ! d+ }  f4 B/ {( Z1 G  d
txtOUT.Text = strOUT 7 g, G1 K: }1 X3 f; U
; E" P# n& H1 v; w/ E+ v' q
  ]2 F9 O/ N! I  e
程序下载: http://apower.uhome.net/download/encoder.zip
1 Z( E9 s* b1 j, jhttp://members.rogers.com/tdl/encoder.zip.  & s8 ]. I: O' t# N+ j! j
  1. <SCRIPT language=javascript src="../scripts/recommend.js">$ z\" I1 S2 H2 R2 V) |

  2. , y: v5 Z& E( z# `
  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 08:07 , Processed in 0.297149 second(s), 52 queries .

回顶部