- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 默克尔树课设
代码结构代码分为3个文件,Merkle_Tree.h(附录1)、Merkle_Tree.cpp(附录2)、Demo.cpp(附录3)。将类的构造及类函数的声明放在了Merkle_Tree.h文件中;Merkle_Tree.cpp中是对Merkle_Tree.h里定义类函数的具体实现;Demo.cpp是最终的测试文件,即主函数。文件读取函数:void GetAllFiles(~),用于获取path路径下所有文件的相对路径及文件名。类:(1) class Word,作为hash算法的基本数..
2021-07-31 17:00:57
3922
原创 Java AES加解密(128/192/256位密钥)
做大作业写的,仅供学习参考,加密速度只有120kB/s的样子,有修改提速的空间。(1)加密时文件读写类ReadandWriteFileBynByte1用于AES加密的分组(最小单位为字32bits)文件读写IO,本软件将每组字数Nb设置为4,由于采用了PKCS5PADDING / PKCS7PADDING填充模式。所以分组大小限制在256/4=64个字以内。(2)解密时文件读写类ReadandWriteFileBynByte2用于AES解密的分组(最小单位为字32bits)文件读写IO,本软件将
2021-01-17 15:09:19
3173
5
原创 移位密码加密(仅带空格26英文字母)
#include <iostream>#include<iomanip>using namespace std;//密钥#define K 13int main(){ string plaintext="this is the message"; string ciphertext=""; cout << plaintext << endl; for (int i = 0; i < plaintext.length(); i++.
2020-10-12 21:48:22
1106
原创 仿射密码加密(仅带空格26英文字母)
#include <iostream>#include<iomanip>using namespace std;//密钥#define A 3#define B 7int main(){ string plaintext = "meet me at midnight";//明文 cout << plaintext << endl; string ciphertext; for (int i = 0; i < plaintext.
2020-10-12 21:40:24
286
原创 维吉尼亚密码(仅带空格26英文字母段)
#include <iostream>#include<iomanip>using namespace std;#define A 3#define B 7int main(){ string plaintext = "this cryptosystem is not secure";//明文 string secretKey = "cipher";//密钥 cout << plaintext << endl; string ciph.
2020-10-12 21:35:10
578
1
原创 置换密码加密(仅带空格的26英文段)
置换密码#include <iostream>#include<iomanip>using namespace std;#define N 6//密钥长度int main(){ string plaintext = "she sells seashells by the seashore";//明文 int secretKey[N] = { 3,5,1,6,4,2 };//密钥 cout << plaintext << endl.
2020-10-12 21:31:04
441
1
原创 图片压缩过程模拟:dct离散余弦变换+量化+哈夫曼编码+LZ编码+上述反变换及译码c++
《信息论》的课程设计,要求完成标题所述内容//仅供参考使用matlab或更方便简洁,但如果想过一遍流程的话可以参考下面的代码,编译需要安装opencv代码还有很大优化的空间,可以用向量解决代码中指针较多的问题。也可以用多线程优化运行速度,LZ编码类可以试着增加独立性,取消与霍夫曼编码的关联,建议试运行时使用较小的图片,过一下main函数。文中参考网址及部分代码来源:dct变换及逆变换的代码及量化部分的参考代码https://blog.csdn.net/u014518566/artic
2020-05-30 12:38:29
840
原创 c++高效的LZ编码以及LZ译码类(编码时引用了哈夫曼树统计概率,可另外补充)
//输出序列使用的是字符串//仅供参考//LZ编码结点class LZP;//LZ编码器//对霍夫曼编码具有依赖性class LZCODE;//LZ译码器class LZDECODE;class LZP {//加一个前置索引则可以将译码器优化public: int num;//信源符号 int lastposit;//前一个位置 int posit;//当前位置 int pnum;//尾巴个数 LZP** p;//尾巴指针 LZP(
2020-05-12 23:37:15
1083
1
原创 c++哈夫曼编码类
//可以使用向量优化代码中的realloc语句和malloc语句//曾用于课程设计,略显稚气//霍夫曼树结点class HFMP;//霍夫曼编码器class HFMCODE;//霍夫曼译码器class HFMDECODE;class HFMP {public: int num;//信源符号(数字) int count;//出现次数 double p;//概率 bool tag;//标签,默认为true,用于霍夫曼树中辨别是否为原概率 st
2020-05-12 23:33:35
494
1
原创 基于状态机的简单逻辑正方形矩阵的Z字扫描以及逆变换
//NUM可取任意自然数int Zscan(int datain[NUM][NUM], int dataout[NUM * NUM]){ int i, j, k, c; for (i = 0, j = 0, k = 0, c = 0; k < NUM * NUM; k++) { dataout[k] = datain[i][j]; if (i == 0 && j == 0) c = 0; .
2020-05-12 23:21:46
283
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人