Add support for crypto 1.0.0.
R=kevmoo@google.com
Review URL: https://codereview.chromium.org//1823303002 .
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 341ba0b..bb1b79e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.2.1
+
+* Add support for `crypto` 1.0.0.
+
## 2.2.0
* `WebSocketChannel` has been moved to
diff --git a/lib/src/web_socket/channel.dart b/lib/src/web_socket/channel.dart
index fd1e3c5..d2a6674 100644
--- a/lib/src/web_socket/channel.dart
+++ b/lib/src/web_socket/channel.dart
@@ -3,6 +3,7 @@
// BSD-style license that can be found in the LICENSE file.
import 'dart:async';
+import 'dart:convert';
import 'package:async/async.dart';
import 'package:crypto/crypto.dart';
@@ -68,11 +69,9 @@
///
/// [initial handshake]: https://tools.ietf.org/html/rfc6455#section-4.2.2
static String signKey(String key) {
- var hash = new SHA1();
// We use [codeUnits] here rather than UTF-8-decoding the string because
// [key] is expected to be base64 encoded, and so will be pure ASCII.
- hash.add((key + webSocketGUID).codeUnits);
- return CryptoUtils.bytesToBase64(hash.close());
+ return BASE64.encode(sha1.convert((key + webSocketGUID).codeUnits).bytes);
}
/// Creates a new WebSocket handling messaging across an existing socket.
diff --git a/lib/src/web_socket/compatible.dart b/lib/src/web_socket/compatible.dart
index 35e7d0e..862f6d6 100644
--- a/lib/src/web_socket/compatible.dart
+++ b/lib/src/web_socket/compatible.dart
@@ -3,6 +3,7 @@
// BSD-style license that can be found in the LICENSE file.
import 'dart:async';
+import 'dart:convert';
import 'package:crypto/crypto.dart';
@@ -51,11 +52,9 @@
///
/// [initial handshake]: https://tools.ietf.org/html/rfc6455#section-4.2.2
static String signKey(String key) {
- var hash = new SHA1();
// We use [codeUnits] here rather than UTF-8-decoding the string because
// [key] is expected to be base64 encoded, and so will be pure ASCII.
- hash.add((key + webSocketGUID).codeUnits);
- return CryptoUtils.bytesToBase64(hash.close());
+ return BASE64.encode(sha1.convert((key + webSocketGUID).codeUnits).bytes);
}
/// Creates a new WebSocket handling messaging across an existing socket.
diff --git a/pubspec.yaml b/pubspec.yaml
index a572172..804d951 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
name: http_parser
-version: 2.2.0
+version: 2.2.1
author: "Dart Team <misc@dartlang.org>"
homepage: https://github.com/dart-lang/http_parser
description: >
@@ -7,7 +7,7 @@
dependencies:
async: "^1.3.0"
collection: ">=0.9.1 <2.0.0"
- crypto: "^0.9.0"
+ crypto: ">=0.9.2 <2.0.0"
source_span: "^1.0.0"
stream_channel: "^1.0.0"
string_scanner: ">=0.0.0 <0.2.0"