一.描述
字符集为大小写字母与数字,-*,一共64个字符,-*加密后不变,各字符集加密完后应该还是属于该字符集。
二.思路
首先将字符编码,最大的字符集个数为26,5个比特即可表示,用8个比特表示一个字符,前3个比特为控制位,表示其为哪一种类的字符,后五个比特表示该字符在字符集内的具体数值。用CTC模式进行加密,每次从加密后的counter值中取五位出来与每个字符编码的后5个比特异或进行加密,加密完输出时,根据控制位进行相应的处理使其格式保持。解密就是再加密一次,详情见代码注释。aes的源代码请自行下载。
三.程序源代码
//
// main.cpp
// csv_ecyt
//
// Created by 王俊 on 2017/10/29.
// Copyright © 2017年 王俊. All rights reserved.
//
#include
#include
#include
#include