C / C ++加密:测量数据速率

时间:2016-07-24 13:19:58

标签: c++ arrays algorithm encryption

我正在开发一个实现一些加密算法(AES,Blowfish)的C ++程序,我需要获得一些评估指标。具体来说,我需要以每秒千字节为单位测量加密/解密操作的数据。此操作将使用相同的纯文本数据来测量不同的算法。部分原因是使用计时器来获取秒数,第二部分是计算位数。从这里我可以计算出每秒千字节数。

我试图解决的问题是如何测量通过算法的位数。算法以固定大小的无符号字符数组的格式输入(8或16个字符,具体取决于算法)。我最初的解决方案是计算通过算法的字符数,并将其作为字节数。然后乘以8的字节可能是位数,但是我已经读过字符不一定总是8位字节。位数的差异可能会严重影响结果。

我究竟如何获得unsigned char数组中的位数? (或该数组中单个char元素的位数)。

1 个答案:

答案 0 :(得分:0)

char极不可能只有8位,但如果你需要100℅确定,那么请改用int8_t / uint8_t。对于二进制数据,uint8_t在任何情况下都是比char更自然的类型 - 它避免了char在任何给定平台上是签名还是无签名的问题。

对于char中的位数,请参阅此问题:Get number of bits in char