zoukankan      html  css  js  c++  java
  • 资深Python程序员用图片隐写术写情书,全公司只有她能看懂,绝了

    谁说程序员不浪漫!他从事python工作七八年,为了追公司的女同事,竟然用python的图片隐写术在图片上写情书,让全公司只有她才能看懂。

    先介绍一下图片隐写术吧,这是一门有关于将信息隐藏的科学技术,也就是说,用过这种信息隐藏的内容,一般除了特别的人能看懂以外,其他任何看到的人都不会知道信息中被隐藏的内容。

    下面简单讲一下如何用python实现图片隐写术

    首先,python图片隐写术涉及到的知识点

    Pillow 模块

    最低有效位

    lambda 表达式递归

    UTF-8 编码

    效果展示:

    当然,已经经过“施法”后的图片,应该很难看出什么。

    再是安装包

    这是用到了pillow这个模块。

    然后是程序实现的步骤

    先导入pillow模块,举个例子

    再就是编码

    我们要将需要隐藏的信息编码到图片中去,也是函数encodeDatalnlmage()中,它会有两个参数,一个是用于作为载体的图片对象,还有一个是需要被隐藏的字符串。部分代码如下:

    然后 map(constLenBin,bytearray(data,‘utf-8’)) 对数值序列中的每一个值应用 constLenBin() 函数,将十进制数值序列转换为二进制字符串序列。

    部分代码如下:

    最后,需要看到图片中的信息,再进行解码。

    decodeImage()返回图片解码后的隐藏文字,其接受一个图片对象参数。

    代码如下:

    到这里,python图片隐写术的效果就基本可以完成了,但是由于篇幅比较有限,不能把详细内容写出来,所以,这里面还涉及到很多的内容没有讲,比如隐写术的原理等等

    这是一门特别实用的Python技术,想象一下,学会隐写术后,随便怎么给喜欢的写情书,再也不担心会被别人看到了!

    推荐阅读:

    毫无基础的人如何入门Python?其实会玩游戏即可,请看理由

    毫无基础的人如何入门Python?简单推荐一下,都是很实在的资料

    跟着我,带你入门python编程
  • 相关阅读:
    Codeforces Round #419 (Div. 2)
    论蒟蒻的自我修养
    12 day 1
    Balanced Teams (USACO Jan Bronze 2014)
    一个奇怪的绘图程序
    BZOJ 1002 [ FJOI 2007 ]
    BZOJ 3540 realtime-update 解题
    准备做的题目
    代码风格与树形DP
    CH round #55 Streaming #6
  • 原文地址:https://www.cnblogs.com/yirupyssh/p/13455222.html
Copyright © 2011-2022 走看看