项目描述

      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 可以自定义字符集的密码本相关推荐

  1. linux 生成密码本,Linux下CentOS7使用OTPW实现双因子密码本登录

    otpw优点: 1.前缀密码+一次性随机码,相当于双重加密.就算随机码列表泄露,没有前缀密码也是无法登录. 2.如果一次没登录成功,会启用三重随机码. 3.用户目录下保存密码的文件可通用,适合批量部署 ...

  2. oracle 字符集 自造字,循序渐进Oracle:自定义字符集的使用、更改字符集的内部方式及字符集更改的案例...

    第3章  Oracle的字符集(3.9-3.11) Oracle全球支持(即Globalization Support)允许我们使用本地语言和格式来存储和检索数据.通过全球支持,Oracle可以支持多 ...

  3. JVM详解之:java class文件的密码本

    文章目录 简介 一个简单的class ClassFile的二进制文件 class文件的密码本 magic version 常量池 描述符 access_flags this_class和super_c ...

  4. html密码本源码,YoungxjPwd密码本 PHP版 v1.0

    YoungxjPwd密码本设计之初是为了规避那非常难记的密码,也是为了改变我喜欢使用老密的不良习惯.项目本身难度不大,但是在安全方面,我确实不敢保证100%的安全性,所以这也是一个忧心忡忡的事情,我也 ...

  5. 教你如何使用 python 制作一个简单的密码本

    不知道大家了解不了解暴力破解?我稍微解释下: 假如有个无聊的人用锁把我的电驴锁了,我并不知道与之匹配的钥匙长什么样,但是我有几乎无数把钥匙可以去试开这把锁. 这样看来,只有我肯浪费时间用一把把钥匙去开 ...

  6. 【Joy of Cryptography 读书笔记】Chapter 1 一次性密码本(one-time pad)Kerckhoffs原则

    Chapter 1 一次性密码本(one-time pad)&Kerckhoffs原则 文章目录 Chapter 1 一次性密码本(one-time pad)&Kerckhoffs原则 ...

  7. 一个密码本(ACodebook)介绍

    零.使用说明 直接查看使用说明,--->请点击这里<---. 一.介绍 介绍视频制作中,请耐心等待... 一个密码本,是一个帮助用户"生成"和"存储" ...

  8. 密码学第三讲——对称密码(XOR与一次性密码本)

    一.什么是编码?? 计算机的操作对象并不是文字,而是由0和1排列而成的比特序列.无论是文字,图像,还是程序,都是由比特序列来表示的.加密就是将表示明文的比特序列转换为表示密文的比特序列. 二.XOR运 ...

  9. Python破解WIFI升级版保姆级教程,多线程破解+界面(附赠密码本)

    目录 前言 1.安装python的包 多线程破解教程 基本流程 密码本如下 完整代码如下 破解效果如下 界面版本WiFi破解 注意 代码 破解效果图如下 总结 前言 有很多小伙伴想要破解WiFi密码, ...

  10. 一个密码本(ACodebook)使用说明

    一.举例 小A同学为了学习编程知识,需要在XX论坛上注册账号. 首先,小A挑选出自己的常用数字.字母.符号组合.例如: 1.组合一:123_456 2.组合二:123_456XA 3.组合三:X_12 ...

最新文章

  1. Linux下安装java(Ubuntu为例)
  2. asp.net mvc请求响应模型原理回顾
  3. 免费!「神策 2021 数据驱动大会」西安大数据技术专场来袭
  4. python映射的主要特点_Python入门 4——字典及其映射
  5. 我能想到的圆角背景的实现方法
  6. android studio没有logcat窗口_区块链研究实验室|从Android调用区块链智能合约
  7. Java商城项目实战
  8. vdbench测试过程中遇到的小问题
  9. 大数据时代下的人工智能医疗
  10. 通过Windows的bat方式一键给计算机网卡替换IP地址
  11. 小型超市管理系统 C++面向对象
  12. opencv-11-中值滤波及自适应中值滤波
  13. 双非本23秋招之路-从考研跑路到某安全大厂(无实习、项目)
  14. ubuntu18.04安装Qt5.9.9后没有QtCreator启动图标
  15. 用java web start来发布jbpm(三)
  16. access查询出生日期格式转换_设置日期和时间字段的格式
  17. 【消息中心】架构准备
  18. 局域网中别人不能访问我的电脑
  19. 阿里云的云安全防护产品有哪些?都有什么作用?
  20. 破天荒!苹果终于对 MacBook Air 大更新,还有全新 iPad Pro 和 Mac mini

热门文章

  1. 春节要闻回顾 | 数字人民币和元宇宙被搬上春晚;美国财政部报告警告NFT可用于洗钱...
  2. 攻防世界misc高手进阶区funny_video完整版答案
  3. CTPN在windows的CPU上运行经验
  4. 语音转写(讯飞开放平台)工具类
  5. python写入文件取消自动换行
  6. matlab 模糊聚类改进,matlab模糊聚类
  7. 基本遗传算法(GA)的算法原理、步骤、及Matlab实现
  8. vue实例的参数说明
  9. 谷歌浏览器安装插件的方法步骤
  10. 常见JAVA IO/NIO模型