CodeBook 可以自定义字符集的密码本
项目描述
CodeBook是一个可以指定字符集的加密算法。可以在不膨胀的情况下对原文进行加密。
项目地址
https://github.com/PaladinDu/CodeBook.git
产生的原因
基于安全原因,我们时常需要对数据进行加密。然而一般的加密算法通常是无法指定字符集的。这会导致一个问题,如果我们希望密文是可读文本(一般明文也是)时,需要进行转换(一般base64/hex),这会导致密文数据发生膨胀。CodeBook因此而生。
CodeBook 适用范围
CodeBook 使适用原文是可读文本,加密后仍然希望是可读问题的情况。比如http请求中Header中value的加密。
CodeBook 用法
1.初始化一个CodeBook。 init_from_valid_chars(valid_chars_bytes)。同时CodeBook 提供get_mate_data(self) 和init_from_valid_chars(valid_chars_bytes) 方法对CodeBook的Meta信息Save和Load。
2.通过seed(方便记忆的随机种子)生成用于加密的Key 。init_from_valid_chars(valid_chars_bytes)
3.加密:encryption(self, origin_data, key_bytes)
4.解密:decryption(self, encryption_data, key_bytes)
CodeBook 注意事项
1.在使用CodeBook过程中,原文和密文使用的是同一个字符集。
2.CodeBook 更多的是体现一个不膨胀加密的思想。严谨性有待考量。仅供测试使用。
CodeBook 一个应用
CodeBook相当于一个再指定字符集内对文本进行扰乱。不仅仅可以用于加密,也可以单纯的用于对数据进行扰乱。CodeFactory是一个Code生成器。可以指定字符集和最短长度。每个CodeFactory内置一个自增id。每次对唯一的自增id值进行扰乱从而生成Code。
CodeFactory 接口
创建CodeFactory
GET http://47.105.135.47/api/code/factory/{factoryID}/create
PARAMS
factoryID 用于隔离CodeFactory生成器 。由字母和数字组成
minLen Code的最短长度,默认10,取值范围1-64
chars 指定的字符集,默认是字母大小写加数字。支持字母大小写加数字的子集。对少5种字符
生成Code
GET http://47.105.135.47/api/code/factory/{factoryID}/make
PARAMS
factoryID 用于隔离CodeFactory生成器 。由字母和数字组成
CodeBook 可以自定义字符集的密码本相关推荐
- linux 生成密码本,Linux下CentOS7使用OTPW实现双因子密码本登录
otpw优点: 1.前缀密码+一次性随机码,相当于双重加密.就算随机码列表泄露,没有前缀密码也是无法登录. 2.如果一次没登录成功,会启用三重随机码. 3.用户目录下保存密码的文件可通用,适合批量部署 ...
- oracle 字符集 自造字,循序渐进Oracle:自定义字符集的使用、更改字符集的内部方式及字符集更改的案例...
第3章 Oracle的字符集(3.9-3.11) Oracle全球支持(即Globalization Support)允许我们使用本地语言和格式来存储和检索数据.通过全球支持,Oracle可以支持多 ...
- JVM详解之:java class文件的密码本
文章目录 简介 一个简单的class ClassFile的二进制文件 class文件的密码本 magic version 常量池 描述符 access_flags this_class和super_c ...
- html密码本源码,YoungxjPwd密码本 PHP版 v1.0
YoungxjPwd密码本设计之初是为了规避那非常难记的密码,也是为了改变我喜欢使用老密的不良习惯.项目本身难度不大,但是在安全方面,我确实不敢保证100%的安全性,所以这也是一个忧心忡忡的事情,我也 ...
- 教你如何使用 python 制作一个简单的密码本
不知道大家了解不了解暴力破解?我稍微解释下: 假如有个无聊的人用锁把我的电驴锁了,我并不知道与之匹配的钥匙长什么样,但是我有几乎无数把钥匙可以去试开这把锁. 这样看来,只有我肯浪费时间用一把把钥匙去开 ...
- 【Joy of Cryptography 读书笔记】Chapter 1 一次性密码本(one-time pad)Kerckhoffs原则
Chapter 1 一次性密码本(one-time pad)&Kerckhoffs原则 文章目录 Chapter 1 一次性密码本(one-time pad)&Kerckhoffs原则 ...
- 一个密码本(ACodebook)介绍
零.使用说明 直接查看使用说明,--->请点击这里<---. 一.介绍 介绍视频制作中,请耐心等待... 一个密码本,是一个帮助用户"生成"和"存储" ...
- 密码学第三讲——对称密码(XOR与一次性密码本)
一.什么是编码?? 计算机的操作对象并不是文字,而是由0和1排列而成的比特序列.无论是文字,图像,还是程序,都是由比特序列来表示的.加密就是将表示明文的比特序列转换为表示密文的比特序列. 二.XOR运 ...
- Python破解WIFI升级版保姆级教程,多线程破解+界面(附赠密码本)
目录 前言 1.安装python的包 多线程破解教程 基本流程 密码本如下 完整代码如下 破解效果如下 界面版本WiFi破解 注意 代码 破解效果图如下 总结 前言 有很多小伙伴想要破解WiFi密码, ...
- 一个密码本(ACodebook)使用说明
一.举例 小A同学为了学习编程知识,需要在XX论坛上注册账号. 首先,小A挑选出自己的常用数字.字母.符号组合.例如: 1.组合一:123_456 2.组合二:123_456XA 3.组合三:X_12 ...
最新文章
- Linux下安装java(Ubuntu为例)
- asp.net mvc请求响应模型原理回顾
- 免费!「神策 2021 数据驱动大会」西安大数据技术专场来袭
- python映射的主要特点_Python入门 4——字典及其映射
- 我能想到的圆角背景的实现方法
- android studio没有logcat窗口_区块链研究实验室|从Android调用区块链智能合约
- Java商城项目实战
- vdbench测试过程中遇到的小问题
- 大数据时代下的人工智能医疗
- 通过Windows的bat方式一键给计算机网卡替换IP地址
- 小型超市管理系统 C++面向对象
- opencv-11-中值滤波及自适应中值滤波
- 双非本23秋招之路-从考研跑路到某安全大厂(无实习、项目)
- ubuntu18.04安装Qt5.9.9后没有QtCreator启动图标
- 用java web start来发布jbpm(三)
- access查询出生日期格式转换_设置日期和时间字段的格式
- 【消息中心】架构准备
- 局域网中别人不能访问我的电脑
- 阿里云的云安全防护产品有哪些?都有什么作用?
- 破天荒!苹果终于对 MacBook Air 大更新,还有全新 iPad Pro 和 Mac mini