| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import 'dart:convert'; | 5 import 'dart:convert'; |
| 6 import 'dart:typed_data'; | 6 import 'dart:typed_data'; |
| 7 | 7 |
| 8 import 'digest.dart'; | 8 import 'digest.dart'; |
| 9 import 'digest_sink.dart'; | 9 import 'digest_sink.dart'; |
| 10 import 'hash.dart'; | 10 import 'hash.dart'; |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 | 78 |
| 79 // Compute inner padding. | 79 // Compute inner padding. |
| 80 for (var i = 0; i < padding.length; i++) { | 80 for (var i = 0; i < padding.length; i++) { |
| 81 padding[i] = 0x36 ^ key[i]; | 81 padding[i] = 0x36 ^ key[i]; |
| 82 } | 82 } |
| 83 _innerSink.add(padding); | 83 _innerSink.add(padding); |
| 84 } | 84 } |
| 85 | 85 |
| 86 @override | 86 @override |
| 87 void add(List<int> data) { | 87 void add(List<int> data) { |
| 88 if (_isClosed) throw new StateError("HMAC is closed"); | 88 if (_isClosed) throw new StateError('HMAC is closed'); |
| 89 _innerSink.add(data); | 89 _innerSink.add(data); |
| 90 } | 90 } |
| 91 | 91 |
| 92 @override | 92 @override |
| 93 void addSlice(List<int> data, int start, int end, bool isLast) { | 93 void addSlice(List<int> data, int start, int end, bool isLast) { |
| 94 if (_isClosed) throw new StateError("HMAC is closed"); | 94 if (_isClosed) throw new StateError('HMAC is closed'); |
| 95 _innerSink.addSlice(data, start, end, isLast); | 95 _innerSink.addSlice(data, start, end, isLast); |
| 96 } | 96 } |
| 97 | 97 |
| 98 @override | 98 @override |
| 99 void close() { | 99 void close() { |
| 100 if (_isClosed) return; | 100 if (_isClosed) return; |
| 101 _isClosed = true; | 101 _isClosed = true; |
| 102 | 102 |
| 103 _innerSink.close(); | 103 _innerSink.close(); |
| 104 _outerSink.add(_innerResultSink.value.bytes); | 104 _outerSink.add(_innerResultSink.value.bytes); |
| 105 _outerSink.close(); | 105 _outerSink.close(); |
| 106 } | 106 } |
| 107 } | 107 } |
| OLD | NEW |