aboutsummaryrefslogtreecommitdiff
path: root/src/crypto/symm.rs
diff options
context:
space:
mode:
authorChris Cole <[email protected]>2015-01-03 19:31:14 -0500
committerChris Cole <[email protected]>2015-01-03 19:31:14 -0500
commitfde7fbd03b0a92c2bf515c8f1fd3609b8b8745e6 (patch)
treed2d40563122545c4e24ac7ac387145e5e0886bf4 /src/crypto/symm.rs
parentMerge branch 'master' of https://github.com/cjcole/rust-openssl (diff)
parentRelease v0.2.11 (diff)
downloadrust-openssl-fde7fbd03b0a92c2bf515c8f1fd3609b8b8745e6.tar.xz
rust-openssl-fde7fbd03b0a92c2bf515c8f1fd3609b8b8745e6.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/crypto/symm.rs')
-rw-r--r--src/crypto/symm.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/crypto/symm.rs b/src/crypto/symm.rs
index 61365f2e..9478bc4a 100644
--- a/src/crypto/symm.rs
+++ b/src/crypto/symm.rs
@@ -1,15 +1,16 @@
+use std::iter::repeat;
use libc::{c_int};
use ffi;
-#[deriving(Copy)]
+#[derive(Copy)]
pub enum Mode {
Encrypt,
Decrypt,
}
#[allow(non_camel_case_types)]
-#[deriving(Copy)]
+#[derive(Copy)]
pub enum Type {
AES_128_ECB,
AES_128_CBC,
@@ -109,7 +110,7 @@ impl Crypter {
*/
pub fn update(&self, data: &[u8]) -> Vec<u8> {
unsafe {
- let mut res = Vec::from_elem(data.len() + self.blocksize, 0u8);
+ let mut res = repeat(0u8).take(data.len() + self.blocksize).collect::<Vec<_>>();
let mut reslen = (data.len() + self.blocksize) as u32;
ffi::EVP_CipherUpdate(
@@ -130,7 +131,7 @@ impl Crypter {
*/
pub fn finalize(&self) -> Vec<u8> {
unsafe {
- let mut res = Vec::from_elem(self.blocksize, 0u8);
+ let mut res = repeat(0u8).take(self.blocksize).collect::<Vec<_>>();
let mut reslen = self.blocksize as c_int;
ffi::EVP_CipherFinal(self.ctx,