找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19039|回复: 5

[原创代码] 码农的联系方式

[复制链接]
发表于 2016-6-25 08:32:44 | 显示全部楼层 |阅读模式
本帖最后由 codegay 于 2016-6-25 08:42 编辑

微博看到这样一个短租信息,其中亮点是房东把电话号码藏在代码中,需要能读懂代码才能把电话号码解出来:


以下代码是我把短租信息中的代码照抄下来的:


  1. int [] arr = new int[]{8,2,1,0,3};
  2. int [] index = new int[]{2,0,3,2,4,0,1,3,2,3,3};
  3. String tel = "";
  4.    for (int i : index) {
  5.         tel +- arr[i];
  6.    }
  7.    System.out.println("联系方式:" + tel);
复制代码
-_-!!我并不知道是个什么毛语言写的,不过在看了两遍这个代码之后还是看懂了代码的意思。

很多语言中都有for 语句,所以代码的大致意思显然是迭代索引取arr的数字还原出电话号码。

一般现在大家都留的是手机号,而中国手机号1开头,所以可见索引从0开始。

所以当迭代index,i == 2时,取出arr中第三位,电话号码第一位为1

i == 0时,取出arr中的第一位,得到8,

i == 3时,取出arr中的第四位,得到0,和之前到数字拼起来可以得到电话码前三位是180,以此类推...

-_-!!!可以写代码来解,所以就写了个python一行流的代码来解了:


  1. >>> arr = "82103" ; index = "20324013233" ; print("电话:",''.join([arr[r] for r in map(int,list(index))]))
  2. 电话: 18013820100
复制代码
-_-百度搜索 18013820100 发现居然有一些人在提问怎么把号码解出来。。。这跟本不难嘛。

还没完,要是我们也想弄一个类似这样的招聘或者招租的信息呢?我们要把联系方式藏到代码中。
可以写个python用来生成的包含电话号码的python代码!



  1. """
  2. 2016年6月25日 07:32:28
  3. 码农的联系方式
  4. """
  5. temp = """arr = %s
  6. index = %s
  7. tel = ''
  8. for i in index:
  9.     tel += arr[i]
  10. print("电话号码:" + tel)
  11. """
  12. def encode(tel):
  13.     arr = list(set(list(tel)))
  14.     index = [arr.index(r) for r in list(tel)]
  15.     return temp % (arr,index)

  16. code=encode("15099003422")

  17. print(code)

  18. #因为code字符串是一段合法的python代码,用exec执行后可以电话号码解出来。
  19. exec(code)
复制代码
以下是代码运行得到的结果:
  1. arr = ['3', '2', '9', '1', '5', '0', '4']
  2. index = [3, 4, 5, 2, 2, 5, 5, 0, 6, 1, 1]
  3. tel = ''
  4. for i in index:
  5.     tel += arr[i]
  6. print("电话号码:" + tel)

  7. 电话号码:15099003422
复制代码

评分

参与人数 2PB +5 技术 +1 收起 理由
happy886rr + 1 图文并茂
CrLf + 5

查看全部评分

发表于 2016-6-25 11:02:36 | 显示全部楼层
哈哈哈哈丧心病狂
发表于 2016-6-25 19:34:52 | 显示全部楼层
可能是爪蛙
 楼主| 发表于 2016-6-25 20:06:58 | 显示全部楼层
回复 3# 523066680


    是的。
发表于 2016-6-27 10:23:26 | 显示全部楼层
回复 4# codegay
java和python哪个好用? java运行速度挺快啊。
 楼主| 发表于 2016-6-27 12:12:38 | 显示全部楼层
回复 5# happy886rr

    性能上是JAVA快,国内用JAVA的也多。
不过我是python党,我觉得类似python的语法比较聪明。
如果仅仅出性能选择一门语言的话,我估计我跑去选择go rust这类比较新的语言。

JAVA是运行在JVM上的,也有其它有好多语言是跑在JVM上,比如JPython 、Clojure 等等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:33 , Processed in 0.022342 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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