Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(387)

Unified Diff: sdk/lib/crypto/crypto.dart

Issue 15820008: Remove library dart:crypto (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed review comments Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sdk/lib/_internal/pub/lib/src/utils.dart ('k') | sdk/lib/crypto/crypto_utils.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sdk/lib/crypto/crypto.dart
diff --git a/sdk/lib/crypto/crypto.dart b/sdk/lib/crypto/crypto.dart
deleted file mode 100644
index a34ce53616f32a35795d1734eac4126c97aa978c..0000000000000000000000000000000000000000
--- a/sdk/lib/crypto/crypto.dart
+++ /dev/null
@@ -1,182 +0,0 @@
-// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-library dart.crypto;
-
-import 'dart:math';
-
-part 'crypto_utils.dart';
-part 'hash_utils.dart';
-part 'hmac.dart';
-part 'md5.dart';
-part 'sha1.dart';
-part 'sha256.dart';
-
-/**
- * Interface for cryptographic hash functions.
- *
- * The [add] method is used to add data to the hash. The [close] method
- * is used to extract the message digest.
- *
- * Once the [close] method has been called no more data can be added using the
- * [add] method. If [add] is called after the first call to [close] a
- * HashException is thrown.
- *
- * If multiple instances of a given Hash is needed the [newInstance]
- * method can provide a new instance.
- */
-// TODO(floitsch): make Hash implement Sink, EventSink or similar.
-abstract class Hash {
- /**
- * Add a list of bytes to the hash computation.
- */
- add(List<int> data);
-
- /**
- * Finish the hash computation and extract the message digest as
- * a list of bytes.
- */
- List<int> close();
-
- /**
- * Returns a new instance of this hash function.
- */
- Hash newInstance();
-
- /**
- * Internal block size of the hash in bytes.
- *
- * This is exposed for use by the HMAC class which needs to know the
- * block size for the [Hash] it is using.
- */
- int get blockSize;
-}
-
-/**
- * SHA1 hash function implementation.
- */
-abstract class SHA1 implements Hash {
- factory SHA1() => new _SHA1();
-}
-
-/**
- * SHA256 hash function implementation.
- */
-abstract class SHA256 implements Hash {
- factory SHA256() => new _SHA256();
-}
-
-/**
- * MD5 hash function implementation.
- *
- * WARNING: MD5 has known collisions and should only be used when
- * required for backwards compatibility.
- */
-abstract class MD5 implements Hash {
- factory MD5() => new _MD5();
-}
-
-/**
- * Hash-based Message Authentication Code support.
- *
- * The [add] method is used to add data to the message. The [digest] and
- * [close] methods are used to extract the message authentication code.
- */
-// TODO(floitsch): make Hash implement Sink, EventSink or similar.
-abstract class HMAC {
- /**
- * Create an [HMAC] object from a [Hash] and a key.
- */
- factory HMAC(Hash hash, List<int> key) => new _HMAC(hash, key);
-
- /**
- * Add a list of bytes to the message.
- */
- add(List<int> data);
-
- /**
- * Perform the actual computation and extract the message digest
- * as a list of bytes.
- */
- List<int> close();
-
- /**
- * Extract the message digest as a list of bytes without closing [this].
- */
- List<int> get digest;
-
- /**
- * Verify that the HMAC computed for the data so far matches the
- * given message digest.
- *
- * This method should be used instead of memcmp-style comparisons
- * to avoid leaking information via timing.
- *
- * Throws an exception if the given digest does not have the same
- * size as the digest computed by this HMAC instance.
- */
- bool verify(List<int> digest);
-}
-
-/**
- * Utility methods for working with message digests.
- */
-abstract class CryptoUtils {
- /**
- * Convert a list of bytes (for example a message digest) into a hex
- * string.
- */
- static String bytesToHex(List<int> bytes) {
- return _CryptoUtils.bytesToHex(bytes);
- }
-
- /**
- * Converts a list of bytes into a Base 64 encoded string.
- *
- * The list can be any list of integers in the range 0..255,
- * for example a message digest.
- *
- * If [addLineSeparator] is true, the resulting string will be
- * broken into lines of 76 characters, separated by "\r\n".
- *
- * If [urlSafe] is true, the result is URL and filename safe.
- *
- * Based on [RFC 4648](http://tools.ietf.org/html/rfc4648)
- *
- */
- static String bytesToBase64(List<int> bytes,
- {bool urlSafe : false,
- bool addLineSeparator : false}) {
- return _CryptoUtils.bytesToBase64(bytes,
- urlSafe,
- addLineSeparator);
- }
-
-
- /**
- * Converts a Base 64 encoded String into list of bytes.
- *
- * Decoder ignores "\r\n" sequences from input. By default it also ignores
- * all illegal characters unless [ignoreInvalidCharacters] is false.
- *
- * Accepts both URL safe and unsafe Base 64 encoded strings.
- *
- * Based on [RFC 4648](http://tools.ietf.org/html/rfc4648)
- */
- static List<int> base64StringToBytes(String input,
- {bool ignoreInvalidCharacters : true}) {
- return _CryptoUtils.base64StringToBytes(input, ignoreInvalidCharacters);
- }
-}
-
-/**
- * HashExceptions are thrown on invalid use of a Hash
- * object.
- */
-class HashException {
- HashException(String this.message);
- toString() => "HashException: $message";
- String message;
-}
-
« no previous file with comments | « sdk/lib/_internal/pub/lib/src/utils.dart ('k') | sdk/lib/crypto/crypto_utils.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698