码迷,mamicode.com
首页 > 其他好文 > 详细

利用赫夫曼编码进行在线密码对话

时间:2018-12-01 16:01:26      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:系统环境   核心   tor   tin   varchar   创建   页面   password   说明   

说在前头

该项目的所有代码上传在GitHub

可以实现的功能

  1. 对26个大写英文字母及空格进行赫夫曼编码
  2. 通过第一点所述功能加上tornado实现简单的在线密码对话聊天(更多的tornado知识我会在后续更新)
  3. 这篇文章只是对github上的代码的一个使用说明,事先获取代码可以更好的辅助你对这篇文章的阅读
  4. 另外,有什么不足的地方欢迎评论

介绍

该程序的主要核心文件为huff_code文件夹下的huffman.py各种要求功能均已实现,除了界面的设计,该项目通过应用在网页在线加密聊天来代替窗口的设计(实际上是用HTML来在网页上设计窗口)

chat_online文件夹为对huffman.py的应用,主要技术为使用python的tornado的websocket来实现在线实时聊天.

环境说明

该项目使用python3实现Python3下载地址:https://www.python.org/downloads/

使用到的第三方库有 tornado,pymysql

第三方库的安装方式:

windows:打开cmd输入pip install tornado (前提是Python安装时已经加入系统环境变量,pymysql安装同理)

Linux(一般Linux自带两个版本的Python):打开终端输入pip3 install tornado (pymysql同理)

运行说明

huff_code文件夹下的huffman.py可单独运行(内有大量注释)

chat_online文件夹下的在线聊天工程只需运行server.py文件

注意

需要修改chat_online/templates/home.html文件中var ws = new WebSocket("ws://10.31.66.157:8000/chatroom");

将其中的IP改为你当前的IP,并使用两台或以上在同ip下的电脑或手机在浏览器访问网址,格式为 "你的ip:8000"

另外,我没有给解密网页跳转链接,需要另开一个 "你的ip:8000/decode" 网页

因为该项目有注册页面,需要使用数据库,这里使用的数据库为Mysql5.6;另外注意Mysql8.0以上好像和pymysql不兼容会报错.

在数据库中创建名为users的表.内容为username和password这里给出创建命令

CREATE TABLE users(username varchar(1000), password varchar(1000));

注册时请勿使用中文

并相应的在config.py下的数据库里改为你的设置

mysql = {
   "host": "",
   "user": "",
   "passwd": "",
   "dbName": ""        # users表所属的库名
}

在聊天时的注意

因为只对26个大写的英文字母和空格进行编码所以在输入其他的字符时会出错.

另外

网页部分只对注册页面进行css美化,所以视觉上可能不是特别美观

如果运行时报huff_code为找到的错误请手动将huff_code文件夹下的huffman.py复制到chat_online文件夹下,并改动chat_onlie/views/index.py文件第7行 from huff_code import huffman 改为 import huffman保存之后再次运行server.py即可

利用赫夫曼编码进行在线密码对话

标签:系统环境   核心   tor   tin   varchar   创建   页面   password   说明   

原文地址:https://www.cnblogs.com/kainhuck/p/10049697.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!