Browse Source

arc4: Use boost::uint8_t

coverity_scan^2
Daniel Scharrer 8 years ago
parent
commit
98c255afbb
  1. 6
      src/crypto/arc4.cpp
  2. 2
      src/crypto/arc4.hpp

6
src/crypto/arc4.cpp

@ -31,12 +31,12 @@ void arc4::init(const char * key, size_t length) {
a = b = 0;
for(size_t i = 0; i < sizeof(state); i++){
state[i] = (unsigned char)i;
state[i] = boost::uint8_t(i);
}
size_t j = 0;
for(size_t i = 0; i < sizeof(state); i++) {
j = (j + state[i] + (unsigned char)key[i % length]) % sizeof(state);
j = (j + state[i] + boost::uint8_t(key[i % length])) % sizeof(state);
std::swap(state[i], state[j]);
}
@ -63,7 +63,7 @@ void arc4::crypt(const char * in, char * out, size_t length) {
for(size_t i = 0; i < length; i++) {
update();
out[i] = char(state[size_t(state[a] + state[b]) % sizeof(state)] ^ (unsigned char)in[i]);
out[i] = char(state[size_t(state[a] + state[b]) % sizeof(state)] ^ boost::uint8_t(in[i]));
}
}

2
src/crypto/arc4.hpp

@ -49,7 +49,7 @@ private:
void update();
unsigned char state[256];
boost::uint8_t state[256];
size_t a, b;
};

Loading…
Cancel
Save