请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
查看: 2219|回复: 2

ROT13 解码

[复制链接]

23

主题

94

帖子

129

积分
交易币
0

编程一段

Rank: 2

发表于 2016-4-10 00:01:26 | 显示全部楼层 |阅读模式
Windows 注册表中某些键值是 ROT13 编码的。

很久前我第一次见到的时候自己“破译”过。

今天再一次见到,骤然想到可能是 ROT13 编码的。于是写了这样一个小小小函数。

[aardio] 纯文本查看 复制代码
function rot13(s){
	var a = {string.unpack(s)}
	
	for(i=1;#a;1){
		if((a[i]>=65) && (a[i]<=90)){
			a[i] += 13
			if(a[i] > 90){
				a[i] -= 26
			}
		}
		if((a[i]>=97) && (a[i]<=122)){
			a[i] += 13
			if(a[i] > 122){
				a[i] -= 26
			}
		}
	}	
	return string.pack(a)	
}
回复

使用道具 举报

14

主题

172

帖子

595

积分
交易币
0

编程三段

Rank: 4

发表于 2016-4-10 08:49:10 | 显示全部楼层
不明觉利,收藏
回复 支持 反对

使用道具 举报

23

主题

94

帖子

129

积分
交易币
0

编程一段

Rank: 2

 楼主| 发表于 2016-5-27 22:07:47 | 显示全部楼层
function rot47(s){
    var a = {string.unpack(s)}
    for(i=1;#a;1){
        j = a[i]
        if ((j >= 33) && (j <= 126)) {
            a[i] = 33 + ((j + 14) % 94)
        }
    }   
    return string.pack(a)
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



GMT+8, 2021-4-15 01:55 , Processed in 0.091040 second(s), 25 queries .

© 2001-2011 Powered by Discuz! X3.2.

快速回复 返回顶部 返回列表