C/C++加密:测量数据速率
C/C++ Encryption: Measure Data Rate
我正在开发一个C++程序,该程序实现了一些加密算法(AES、Blowfish),我需要获得一些指标进行评估。具体来说,我需要以每秒千字节为单位来测量加密/解密操作的数据。此操作将使用相同的纯文本数据来测量不同的算法。其中一部分是简单地使用计时器来获取秒数,第二部分是计数位数。从这里我可以计算出每秒的千字节数。
我试图解决的问题是如何测量通过算法的比特数。算法以固定大小的无符号字符数组的格式输入(8或16个字符取决于算法)。我最初的解决方案是计算通过算法的字符数,并将其作为字节数。字节乘以8可能就是比特计数,但是我读到一个字符不一定总是8比特字节。比特计数的差异可能会显著地扭曲结果。
如何准确地获得无符号字符数组中的位数?(或者该数组中单个char元素的位数)。
char
不太可能是8位,但如果您需要是100℅则使用int8_t
/uint8_t
。在任何情况下,对于二进制数据,uint8_t
都是比char
更自然的类型——它避免了char
在任何给定平台上是有符号的还是无符号的问题。
有关char
中的位数,请参阅此现有问题:获取字符中的位数
相关文章:
- 防止主数据类型C++的隐式转换
- 用于访问容器<T>数据成员的正确 API
- 嵌套在类中时无法设置成员数据
- 在C++中测量postscript字体宽度
- 使用流处理接收到的数据
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 在cuda线程之间共享大量常量数据
- C++将文本文件中的数据读取到结构数组中
- 如何在C++中序列化结构数据
- 在C++中打印指向不同基元数据类型的指针的内存地址
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- 在c代码之间共享数据的最佳方式
- 链表,反向函数,数据结构
- 使用C++测量网络上 2 个应用程序之间的数据传输速率(带宽),如何获得公正准确的结果
- 通过网络测量下载/上传数据
- 数据测量矩阵
- c++ STL:为什么STL数据结构不提供测量内存消耗的函数?
- C/C++加密:测量数据速率
- 如何在CD或DVD上获得扇区的准确位置和角度(数据位置测量)