大家好,欢迎来到编程教室~我是Crossin。

这两天有个事关很多人的新闻:

转自 澎湃新闻 https://m.thepaper.cn/baijiahao_14480198

为什么说事关很多人?因为以下这两个场景,想必大家都遇到过:

出现这种情况,原因在于各平台不想让自己辛苦获取的流量白白被别家薅走,所以限制了其他平台的链接。而其他平台的应对之策,就是弄出火星文一般的口令码,让你复制到其App里打开。

如今互联网时代,“流量”是要成本的,各家出于商业层面的考量,在自己的地盘上做限制,倒是可以理解的事情。然而结果就是让用户受罪。本来一键就能完成操作,硬生生被弄成两三步+手动切换App才能完成。

而且,这种限制常常也会误伤。比如我之前有篇文章里做了个网页小游戏的开发案例,演示网址就接连被屏蔽。(就是这篇:王校长一分钟能吃多少热狗?| 小游戏)

所以这个消息出来,绝大部分用户是拍手叫好的,甚至有人用上了“推倒柏林墙”的说法。但我觉得吧,这事儿也没那么简单。

1. 屏蔽网址并不全是针对竞争对手,也有很大一部分是针对不合规或者高风险的网站。那种假冒红包、中奖的链接,大家或多或少可能也遇到过,尤其中老人对这些链接的真假难以判断。所以解除屏蔽网址肯定不是一刀切,该限制的还是得限制。有的平台过去对于链接一概不跳转,那之后可能要增加不少工作量了。

2. 作为一个有很多群的群主,我相当厌恶那些是朋友就抽我一下、是兄弟就砍我一刀的推广链接。为了几毛钱(还不一定能拿到)的优惠,把一个群的几百人都骚扰了,属实烦人。后面如果解除限制,方便的同时,估计垃圾信息也会跟着多起来。我反正做好准备了,谁发踢谁!

3. 这次大家的关注点主要都集中在微信身上,有种“天下苦tx久矣”的感觉。但这里我要替微信说句话了:如果微信聊天里不允许跳转其他平台,那别的平台是不是也不应该限制别人在聊天/文章/视频/直播中留微信号呢?在其他平台上留微信被删文封号的事太多了,如果这个不放开,那是不是有点欺负人鹅了?

另外我再说个冷知识:最初其实是淘宝主动停止来自微信的跳转链接,也是淘宝主动禁止百度收录淘宝内容的。

这里面有商业竞争的因素,但也有出于反诈防钓鱼的原因。有兴趣的可以搜索了解一下阿里的“杜鹃计划”。


话说回来,如果今天你被监控了,你发的信息都会被人拦截,然后你也想搞个火星文口令躲过自动识别,有什么办法?

我来教大家几个简单的实现。

1. URL Encoding

import urllib.parse
text = 'Crossin的编程教室就是棒啊!就!是!棒!'
secret = urllib.parse.quote(text)
print(secret)

输出结果:

Crossin%E7%9A%84%E7%BC%96%E7%A8%8B%E6%95%99%E5%AE%A4%E5%B0%B1%E6%98%AF%E6%A3%92%E5%95%8A%EF%BC%81%E5%B0%B1%EF%BC%81%E6%98%AF%EF%BC%81%E6%A3%92%EF%BC%81

解码:

text = urllib.parse.unquote(secret)
print(text)

这个是URL编码,也叫做百分号编码,可以将中文、符合等非英文字符转成 百分号+字母+数字 的形式,在web开发中经常会用到(比如URL地址里的参数)。不过你也发现了,英文字母是不会动的。

2. Base64

import base64
text = 'Crossin的编程教室就是棒啊!就!是!棒!'
secret = base64.b64encode(text.encode())
print(secret)

输出结果:

b'Q3Jvc3NpbueahOe8lueoi+aVmeWupOWwseaYr+ajkuWViu+8geWwse+8geaYr++8geajku+8gQ=='

解码:

text = base64.b64decode(secret)
print(text.decode())

Base64 是一种非常经典的文本编码方式,程序员的最爱。在程序员的聚集地 v2ex 上,你会发现大家留的联系方式都是一串乱码,那些基本都用的是 Base64。

Base64有个特征,就是最后常会用 = 进行补齐(但不是一定会有)。另外,它不能直接对中文进行操作,需要先进行文字编码,通常是 UTF8 或者 GBK。其实这一步本身就让肉身无法直接阅读了,比如上述例子的 UTF8 编码为:

b'Crossin\xe7\x9a\x84\xe7\xbc\x96\xe7\xa8\x8b\xe6\x95\x99\xe5\xae\xa4\xe5\xb0\xb1\xe6\x98\xaf\xe6\xa3\x92\xe5\x95\x8a\xef\xbc\x81\xe5\xb0\xb1\xef\xbc\x81\xe6\x98\xaf\xef\xbc\x81\xe6\xa3\x92\xef\xbc\x81'

但对于计算程序来说,这段编码和原文本几乎是一样的。

3. 移位加密

这是一种很古老的加密方式,据说可以追溯到恺撒在战争中传递密信。原理就是把所有字母都往后移动固定的位数,比如 a->d,b->e, c->f,这样原本的话就看不懂了。

对于中文,虽然没有字母这样的概念,但在计算机里同样也是有一个对应的数值,所以用程序去进行位移计算很容易。

text = 'Crossin的编程教室就是棒啊!就!是!棒!'
secret = ''
key = 5
for i in text:secret += chr(ord(i) + key)
print(secret)

输出结果:

Hwtxxns皉缛稐敞宩尶昴棗問&尶&昴&棗&

解码:

text = ''
for i in secret:text += chr(ord(i) - key)
print(text)

Python 里,内置函数 ord 是把一个字符转成对应的数值,chr 则是发过来,把数值转成对应的字符。

你可以自定义一个 key,用来进行加密解密的计算(记住不要告诉别人

你也可以每次用一个随机的 key,然后把 key 藏在你的密文中。比如:

N}z~~ty皏缡稖敤宯尼昺棝啕,尼,昺,棝,@11

解密的时候,先提取 key,然后再进行解密。

使用动态随机key的代码不复杂,就留做今天的作业啦!

如果文章对你有帮助,欢迎转发/点赞/收藏~你们的支持是我更新的动力。


_往期文章推荐_

Python3里不存在编码问题?


如需了解付费精品课程教学答疑服务

请在Crossin的编程教室内回复: 666

限期解除!要跟乱七八糟的口令说拜拜了相关推荐

  1. 工信部要求限期解除屏蔽链接,微信、淘宝、抖音或将打通

     关注ITValue,看企业级最新鲜.最价值报道! 近年来,我们在不同平台之间分享网址链接,经常会遇到被屏蔽的情况,很是不便.究其原因还是互联网平台之间的互相制衡.竞争所致.不过,今后互联网行业互联互 ...

  2. 关于Uber优步无法解除默认绑定支付方式和百度钱包无法解除银行卡/信用卡绑定的问题...

    早上一大早刷朋友圈,一个朋友在朋友圈告诫大家说她的Uber竟然被盗刷了,我很诧异.但是我首先没想到去责怪Uber这家公司的安全问题,混技术圈的,只能感叹黑技术太发达.为什么木有这么牛逼的技术嘞,那不是 ...

  3. QQ短暂支持跳转抖音淘宝又封禁 今天可是最后期限!

    文/江丽雯  来源:IT时报(ID:vittimes) QQ短暂解除外链,又无法跳转了 上午9:48,记者打开抖音获取一个视频链接,再到QQ的对话框中打开,对话框中显示"乱码+链接+乱码&q ...

  4. CentOS 5打造全功能Web服务器

    转:主要做为历史记录,以后用.另外很少见这么好的编译的文章,其实我不推荐用编译安装.但这个文章不错. V3.0 2007年11月11日 将搭建教程划分阶段以适应不同需要.加入程序优化,程序安全,加入m ...

  5. apache+gzip+ssl网页压缩率50%

    1 下载所需的软件包    apache_1.3.31.tar.gz [url]http://apache.linuxforum.net/dist/httpd/apache_1.3.31.tar.gz ...

  6. 黑客的过去、未来与死亡

    黑客的过去.未来与死亡 作者:我是老鹰 *欢迎转载,请注明作者和出处:鹰缘全球中文网(www.neteasy.cn) by clin003 zhuan at 20070511 from:http:// ...

  7. 张一鸣与腾讯战斗并突围的秘诀:不急

    "这不是一个结束,这甚至不是一个结束的开始,这最多只能算是一个开始的结束." 来 源 | 和牛商业(ID:heniucaijing) 作 者 | 黄彩霞 编 辑 | 牛叔 2021 ...

  8. 一周信创舆情观察(9.6~9.12)

    一.一周舆情要点 2021世界机器人大会近日在京开幕,工信部副部长辛国斌强调,要补齐机器人产业短板,推进高端机器人产品研制,着力夯实产业基础.增强产品供给.拓展市场应用.优化产业生态. 9月9日,工信 ...

  9. 互联网晚报 | 9月14日 星期二 | 新东方旗下东方优播将关闭;淘宝逛逛推出双11种草期;喜马拉雅向港交所提交上市申请书...

    ‍ ‍ 今日看点 ✦ 工信部:我国5G终端用户突破4亿,已建成超100万座5G基站 ✦ HarmonyOS 2升级用户数突破1亿,全球最快用户破亿的移动操作系统 ✦ 喜马拉雅向港交所提交上市申请书:2 ...

最新文章

  1. 域策略 设置本地管理员
  2. 这么全的数组去重,你怕不怕?
  3. LeetCode-726. 原子的数量(python2)
  4. MDSF:LOP-使用MPS来做个计算器的示例
  5. Python问答环节(2)
  6. C++学习路线和参考资料
  7. 洛谷 - P2181 - 对角线 - 打表 - 组合数学
  8. Python入门(一) 异常处理
  9. ML_Review_PCA(Ch4)
  10. android7.1以太网动态ip,android7.1编译路上的那些坑!(部分转自网络整理)
  11. “奔跑吧”大数据!河北大数据产业“跑”向升级路
  12. 考勤打卡记录数据库表结构_中控zktime5.0考勤管理系统数据库表结构.doc
  13. Altium Designer禁止联网操作说明
  14. 我的世界服务器修改空岛范围,我的世界空岛指令权限大全 | 手游网游页游攻略大全...
  15. 转载,近三年知名实验室slam有关论文。
  16. 【有利可图网】PS保存图片提示“无法完成请求”,教你4种解决方法!
  17. HCIA-RoutingSwitching华为认证路由交换工程师(持续更新中2%)
  18. mysql根据成绩排名次_用mysql语句 实现按成绩 排名次
  19. 浅谈微信营销的价值与优势
  20. Distiller:正则化

热门文章

  1. 湖北计算机自考学校都有哪些,湖北省自考本科有哪些学校?
  2. 地级市各产业从业人数数据集(1999-2018年)
  3. linux查看各类文件系统信息
  4. eclipse官方网址、各个版本的下载
  5. vm服务器虚拟化迁移,在线迁移演示(存储在线迁移、虚拟机在线迁移)
  6. 移动照片社交应用成美网络新宠
  7. C++20中的协程(Coroutine)
  8. 一条命令导出电脑中所有wifi账号密码
  9. python批量搜索关键字_python – 搜索多个关键字的字符串列表
  10. NOIP2017尼禄祭