mirror of
https://github.com/actix/actix-web.git
synced 2024-12-29 19:40:34 +00:00
Replace sha1 dependency with sha-1 (#1258)
* Replace sha1 dependency with sha-1 This other crate is being maintained, and it offers better performances when using the `asm` feature (especially [on AArch64](https://github.com/RustCrypto/hashes/pull/97)). * Update CHANGES.md with the sha-1 migration * Add a test for hash_key()
This commit is contained in:
parent
e66312b664
commit
abb462ef85
3 changed files with 17 additions and 4 deletions
|
@ -1,5 +1,11 @@
|
|||
# Changes
|
||||
|
||||
## [2.0.NEXT] - 2020-01-xx
|
||||
|
||||
### Changed
|
||||
|
||||
* Use `sha-1` crate instead of unmaintained `sha1` crate
|
||||
|
||||
## [2.0.0] - 2019-12-25
|
||||
|
||||
### Changed
|
||||
|
|
|
@ -74,7 +74,7 @@ rand = "0.7"
|
|||
regex = "1.3"
|
||||
serde = "1.0"
|
||||
serde_json = "1.0"
|
||||
sha1 = "0.6"
|
||||
sha-1 = "0.8"
|
||||
slab = "0.4"
|
||||
serde_urlencoded = "0.6.1"
|
||||
time = "0.1.42"
|
||||
|
|
|
@ -207,12 +207,13 @@ static WS_GUID: &str = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
|
|||
|
||||
// TODO: hash is always same size, we dont need String
|
||||
pub fn hash_key(key: &[u8]) -> String {
|
||||
use sha1::Digest;
|
||||
let mut hasher = sha1::Sha1::new();
|
||||
|
||||
hasher.update(key);
|
||||
hasher.update(WS_GUID.as_bytes());
|
||||
hasher.input(key);
|
||||
hasher.input(WS_GUID.as_bytes());
|
||||
|
||||
base64::encode(&hasher.digest().bytes())
|
||||
base64::encode(hasher.result().as_ref())
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
@ -277,6 +278,12 @@ mod test {
|
|||
assert_eq!(format!("{}", OpCode::Bad), "BAD");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_hash_key() {
|
||||
let hash = hash_key(b"hello actix-web");
|
||||
assert_eq!(&hash, "cR1dlyUUJKp0s/Bel25u5TgvC3E=");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn closecode_from_u16() {
|
||||
assert_eq!(CloseCode::from(1000u16), CloseCode::Normal);
|
||||
|
|
Loading…
Reference in a new issue