楼主: hide秀

[原创发布] [解禁] RM 实现 Base64 字符串加密和解密

  [复制链接]
头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-6-12
回帖
16
发表于 2008-9-7 02:00:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-6-12
回帖
16
发表于 2008-9-7 02:03:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

逃兵

发表于 2008-9-7 17:34:55 | 显示全部楼层
Ruby原版其实自带一个" Base64 字符串加密和解密"
LZ可以看看
「If you judge people, you have no time to love them.」—— Mother Teresa
回复

使用道具 举报

粉蜘蛛秀秀

梦石
0
星屑
76
在线时间
39 小时
注册时间
2007-6-4
回帖
346

贵宾第1届Title华丽大赛新人奖

 楼主| 发表于 2008-9-7 19:14:26 | 显示全部楼层
Ruby原版其实自带一个" Base64 字符串加密和解密"
LZ可以看看

Ruby自带的那个Base64 其实 就是 string.unpack("m") 和 [string].pack("m")
RM里面也一样可以实现,等于是公开的 直接可以实现Base64加密和解密
我重写了这个目的 可以自定义码表 就不容易破解了 {/wx}
http://rpg.blue/upload_program/files/hide_xiu_96911465.png
回复

使用道具 举报

青天

梦石
0
星屑
86
在线时间
232 小时
注册时间
2007-12-15
回帖
2013

开拓者

发表于 2008-9-7 19:28:01 | 显示全部楼层
未了解是干什么的额。
开坑准备中
回复

使用道具 举报

梦石
0
星屑
55
在线时间
446 小时
注册时间
2006-11-18
回帖
1465
发表于 2008-9-7 19:48:49 | 显示全部楼层
# 码表

CharBase64 = {
0 => "A", 17 => "R", 34 => "i", 51 => "z",
1 => "B", 18 => "S", 35 => "j", 52 => "0",
2 => "C", 19 => "T", 36 => "k", 53 => "1",
3 => "D", 20 => "U", 37 => "l", 54 => "2",
4 => "E", 21 => "V", 38 => "m", 55 => "3",
5 => "F", 22 => "W", 39 => "n", 56 => "4",
6 => "G", 23 => "X", 40 => "o", 57 => "5",
7 => "H", 24 => "Y", 41 => "p", 58 => "6",
8 => "I", 25 => "Z", 42 => "q", 59 => "7",
9 => "J", 26 => "a", 43 => "r", 60 => "8",
10 => "K", 27 => "b", 44 => "s", 61 => "9",
11 => "L", 28 => "c", 45 => "t", 62 => "+",
12 => "M", 29 => "d", 46 => "u", 63 => "/",
13 => "N", 30 => "e", 47 => "v", 64 => "=",
14 => "O", 31 => "f", 48 => "w",
15 => "P", 32 => "g", 49 => "x",
16 => "Q", 33 => "h", 50 => "y"


不明白这段!难道是输入解码....
回复

使用道具 举报

逃兵

发表于 2009-6-12 08:00:00 | 显示全部楼层
编码表
回复

使用道具 举报

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
回帖
6005

烫烫烫开拓者

发表于 2008-9-7 21:15:14 | 显示全部楼层
以下引用suicaoya123于2008-9-7 11:48:49的发言:


# 码表

CharBase64 = {
0 => "A", 17 => "R", 34 => "i", 51 => "z",
1 => "B", 18 => "S", 35 => "j", 52 => "0",
2 => "C", 19 => "T", 36 => "k", 53 => "1",
3 => "D", 20 => "U", 37 => "l", 54 => "2",
4 => "E", 21 => "V", 38 => "m", 55 => "3",
5 => "F", 22 => "W", 39 => "n", 56 => "4",
6 => "G", 23 => "X", 40 => "o", 57 => "5",
7 => "H", 24 => "Y", 41 => "p", 58 => "6",
8 => "I", 25 => "Z", 42 => "q", 59 => "7",
9 => "J", 26 => "a", 43 => "r", 60 => "8",
10 => "K", 27 => "b", 44 => "s", 61 => "9",
11 => "L", 28 => "c", 45 => "t", 62 => "+",
12 => "M", 29 => "d", 46 => "u", 63 => "/",
13 => "N", 30 => "e", 47 => "v", 64 => "=",
14 => "O", 31 => "f", 48 => "w",
15 => "P", 32 => "g", 49 => "x",
16 => "Q", 33 => "h", 50 => "y"



不明白这段!难道是输入解码....

Base对字符串进行ASC+转2进制补码到8位之后每六位转成10进制然后再码表里找到相应的编号.
哎呀,蛋疼什么的最有爱了
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-7-1
回帖
527
发表于 2008-9-8 19:29:12 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

粉蜘蛛秀秀

梦石
0
星屑
76
在线时间
39 小时
注册时间
2007-6-4
回帖
346

贵宾第1届Title华丽大赛新人奖

 楼主| 发表于 2008-9-8 20:34:06 | 显示全部楼层
hide兄看看RUBY原配的BASE64,你调试下和你的效率哪个高吧~~~~

这个是ruby库里面的 其实就是string.unpack("m")
测试20000个字节。。。发现要比unpack("m")快不少.....
http://rpg.blue/upload_program/files/hide_xiu_96911465.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部