diff --git a/Cargo.toml b/Cargo.toml index a3078f8..0228484 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,7 +24,7 @@ httparse = "1.3.1" input_buffer = { git = "https://github.com/snapview/input_buffer" } log = "0.4.2" rand = "0.5.2" -sha1 = "0.4.0" +sha-1 = "0.7" url = "1.7.0" utf-8 = "0.7.2" diff --git a/src/handshake/mod.rs b/src/handshake/mod.rs index 9c47aa7..fcb3f78 100644 --- a/src/handshake/mod.rs +++ b/src/handshake/mod.rs @@ -11,7 +11,7 @@ use std::fmt; use std::io::{Read, Write}; use base64; -use sha1::Sha1; +use sha1::{Sha1, Digest}; use error::Error; use self::machine::{HandshakeMachine, RoundResult, StageResult, TryParse}; @@ -111,10 +111,10 @@ fn convert_key(input: &[u8]) -> Result { // ... field is constructed by concatenating /key/ ... // ... with the string "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" (RFC 6455) const WS_GUID: &'static [u8] = b"258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; - let mut sha1 = Sha1::new(); - sha1.update(input); - sha1.update(WS_GUID); - Ok(base64::encode(&sha1.digest().bytes())) + let mut sha1 = Sha1::default(); + sha1.input(input); + sha1.input(WS_GUID); + Ok(base64::encode(&sha1.result())) } #[cfg(test)]