aboutsummaryrefslogtreecommitdiff
path: root/openssl/src/crypto/hash.rs
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2015-12-17 21:26:06 -0800
committerSteven Fackler <[email protected]>2015-12-17 21:26:06 -0800
commit6195bd4fd8a46ab62cbbc5f654c9743371722dc1 (patch)
tree0ccf253c93e6d4923c75ad51744e91dd1839f97f /openssl/src/crypto/hash.rs
parentMerge branch 'release-v0.7.2' into release (diff)
parentRelease v0.7.3 (diff)
downloadrust-openssl-0.7.3.tar.xz
rust-openssl-0.7.3.zip
Merge branch 'release-v0.7.3' into releasev0.7.3
Diffstat (limited to 'openssl/src/crypto/hash.rs')
-rw-r--r--openssl/src/crypto/hash.rs77
1 files changed, 47 insertions, 30 deletions
diff --git a/openssl/src/crypto/hash.rs b/openssl/src/crypto/hash.rs
index 801d8ca5..78465851 100644
--- a/openssl/src/crypto/hash.rs
+++ b/openssl/src/crypto/hash.rs
@@ -14,7 +14,7 @@ pub enum Type {
SHA256,
SHA384,
SHA512,
- RIPEMD160
+ RIPEMD160,
}
impl Type {
@@ -112,7 +112,12 @@ impl Hasher {
};
let md = ty.evp_md();
- let mut h = Hasher { ctx: ctx, md: md, type_: ty, state: Finalized };
+ let mut h = Hasher {
+ ctx: ctx,
+ md: md,
+ type_: ty,
+ state: Finalized,
+ };
h.init();
h
}
@@ -121,7 +126,9 @@ impl Hasher {
fn init(&mut self) {
match self.state {
Reset => return,
- Updated => { self.finalize(); },
+ Updated => {
+ self.finalize();
+ }
Finalized => (),
}
unsafe {
@@ -137,8 +144,7 @@ impl Hasher {
self.init();
}
unsafe {
- let r = ffi::EVP_DigestUpdate(self.ctx, data.as_ptr(),
- data.len() as c_uint);
+ let r = ffi::EVP_DigestUpdate(self.ctx, data.as_ptr(), data.len() as c_uint);
assert_eq!(r, 1);
}
self.state = Updated;
@@ -190,7 +196,12 @@ impl Clone for Hasher {
assert_eq!(r, 1);
ctx
};
- Hasher { ctx: ctx, md: self.md, type_: self.type_, state: self.state }
+ Hasher {
+ ctx: ctx,
+ md: self.md,
+ type_: self.type_,
+ state: self.state,
+ }
}
}
@@ -233,21 +244,32 @@ mod tests {
// Test vectors from http://www.nsrl.nist.gov/testdata/
#[allow(non_upper_case_globals)]
- const md5_tests: [(&'static str, &'static str); 13] = [
- ("", "d41d8cd98f00b204e9800998ecf8427e"),
- ("7F", "83acb6e67e50e31db6ed341dd2de1595"),
- ("EC9C", "0b07f0d4ca797d8ac58874f887cb0b68"),
- ("FEE57A", "e0d583171eb06d56198fc0ef22173907"),
- ("42F497E0", "7c430f178aefdf1487fee7144e9641e2"),
- ("C53B777F1C", "75ef141d64cb37ec423da2d9d440c925"),
- ("89D5B576327B", "ebbaf15eb0ed784c6faa9dc32831bf33"),
- ("5D4CCE781EB190", "ce175c4b08172019f05e6b5279889f2c"),
- ("81901FE94932D7B9", "cd4d2f62b8cdb3a0cf968a735a239281"),
- ("C9FFDEE7788EFB4EC9", "e0841a231ab698db30c6c0f3f246c014"),
- ("66AC4B7EBA95E53DC10B", "a3b3cea71910d9af56742aa0bb2fe329"),
- ("A510CD18F7A56852EB0319", "577e216843dd11573574d3fb209b97d8"),
- ("AAED18DBE8938C19ED734A8D", "6f80fb775f27e0a4ce5c2f42fc72c5f1")
- ];
+ const md5_tests: [(&'static str, &'static str); 13] = [("",
+ "d41d8cd98f00b204e9800998ecf8427e"),
+ ("7F",
+ "83acb6e67e50e31db6ed341dd2de1595"),
+ ("EC9C",
+ "0b07f0d4ca797d8ac58874f887cb0b68"),
+ ("FEE57A",
+ "e0d583171eb06d56198fc0ef22173907"),
+ ("42F497E0",
+ "7c430f178aefdf1487fee7144e9641e2"),
+ ("C53B777F1C",
+ "75ef141d64cb37ec423da2d9d440c925"),
+ ("89D5B576327B",
+ "ebbaf15eb0ed784c6faa9dc32831bf33"),
+ ("5D4CCE781EB190",
+ "ce175c4b08172019f05e6b5279889f2c"),
+ ("81901FE94932D7B9",
+ "cd4d2f62b8cdb3a0cf968a735a239281"),
+ ("C9FFDEE7788EFB4EC9",
+ "e0841a231ab698db30c6c0f3f246c014"),
+ ("66AC4B7EBA95E53DC10B",
+ "a3b3cea71910d9af56742aa0bb2fe329"),
+ ("A510CD18F7A56852EB0319",
+ "577e216843dd11573574d3fb209b97d8"),
+ ("AAED18DBE8938C19ED734A8D",
+ "6f80fb775f27e0a4ce5c2f42fc72c5f1")];
#[test]
fn test_md5() {
@@ -305,9 +327,7 @@ mod tests {
#[test]
fn test_sha1() {
- let tests = [
- ("616263", "a9993e364706816aba3e25717850c26c9cd0d89d"),
- ];
+ let tests = [("616263", "a9993e364706816aba3e25717850c26c9cd0d89d")];
for test in tests.iter() {
hash_test(Type::SHA1, test);
@@ -316,9 +336,8 @@ mod tests {
#[test]
fn test_sha256() {
- let tests = [
- ("616263", "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad")
- ];
+ let tests = [("616263",
+ "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad")];
for test in tests.iter() {
hash_test(Type::SHA256, test);
@@ -327,9 +346,7 @@ mod tests {
#[test]
fn test_ripemd160() {
- let tests = [
- ("616263", "8eb208f7e05d987a9b044a8e98c6b087f15a0bfc")
- ];
+ let tests = [("616263", "8eb208f7e05d987a9b044a8e98c6b087f15a0bfc")];
for test in tests.iter() {
hash_test(Type::RIPEMD160, test);