#include <config.h>
#include "Arcfour.h"
-void Arcfour::stream(char *outbuf, size_t length) {
+void Arcfour::stream(uint8_t *outbuf, size_t length) {
uint8_t i = idx_i;
uint8_t j = idx_j;
idx_j = j;
}
-Arcfour::Arcfour(const char *key, size_t keylen) {
+Arcfour::Arcfour(const uint8_t *key, size_t keylen) {
size_t i, j, k;
idx_i = idx_j = 0;
for (i = 0; i < ARCFOUR_SBOX_SIZE; i++)
#define ARCFOUR_SBOX_SIZE 256
class Arcfour {
- char sbox[ARCFOUR_SBOX_SIZE];
+ uint8_t sbox[ARCFOUR_SBOX_SIZE];
uint8_t idx_i, idx_j;
public:
- Arcfour(const char *key, size_t keylen);
- void stream(char *outbuf, size_t length);
+ Arcfour(const uint8_t *key, size_t keylen);
+ void stream(uint8_t *outbuf, size_t length);
};
#endif /* ARCFOUR_H */
// write/verify the target file
static long long execute(mode_type mode, bool entire, const char *show) {
- Arcfour rng((const char*)seed, seedlen);
+ Arcfour rng((const uint8_t *)seed, seedlen);
FILE *fp = fopen(path, mode == VERIFY ? "rb" : "wb");
if(!fp)
fatal(errno, "%s", path);
flushCache(fp);
if(mode == CREATE && entire)
setvbuf(fp, 0, _IONBF, 0);
- char generated[4096], input[4096];
+ uint8_t generated[4096], input[4096];
long long remain = size;
static const size_t rc4drop = 3072; // en.wikipedia.org/wiki/RC4#Security
assert(rc4drop <= sizeof(generated));