use std::rand::{ OsRng, Rng };
use std::io::IoResult;
use std::slice::bytes::copy_memory;
-use openssl::crypto::hash::SHA256;
+use openssl::crypto::hash::HashType::SHA256;
use openssl::crypto::hmac::HMAC;
use openssl::crypto::symm;
/// Encrypt may fail if the provided data size isn't a multiple of 16, no padding will be automatically added.
pub fn encrypt(plaindata: &[u8], iv: &[u8]) -> Option<Vec<u8>> {
- let c = symm::Crypter::new(symm::AES_256_CBC);
- c.init(symm::Encrypt, KEY_C, iv.to_vec());
+ let c = symm::Crypter::new(symm::Type::AES_256_CBC);
+ c.init(symm::Mode::Encrypt, KEY_C, iv.to_vec());
c.pad(false); // Padding disabled!
let r = c.update(plaindata);
let rest = c.finalize();
/// Decrypt may fail if the provided data size isn't a multiple of 16, no padding will be automatically added.
pub fn decrypt(cipherdata: &[u8], iv: &[u8]) -> Option<Vec<u8>> {
- let c = symm::Crypter::new(symm::AES_256_CBC);
- c.init(symm::Decrypt, KEY_C, iv.to_vec());
+ let c = symm::Crypter::new(symm::Type::AES_256_CBC);
+ c.init(symm::Mode::Decrypt, KEY_C, iv.to_vec());
c.pad(false); // Padding disabled!
let r = c.update(cipherdata);
let rest = c.finalize();