Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge package:crypto #135

Merged
merged 164 commits into from
Oct 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
164 commits
Select commit Hold shift + click to select a range
4f03a03
Remove library dart:crypto
sgjesse May 29, 2013
63e82dd
Get the api docs generated for the crypto package
sgjesse Jun 6, 2013
ca0905a
Remove the crypto factories
sgjesse Jun 7, 2013
cf38027
Remove ignoreIllegalInput parameter from decoder.
Jun 7, 2013
b270f69
.
Jun 7, 2013
88caba7
Forgot one file..
Jun 7, 2013
0717d98
.
Jun 7, 2013
a6540ce
Move the crypto tests into the pkg directory
sgjesse Jun 10, 2013
b9cbe24
add one-line description for crypto library
kwalrath Aug 21, 2013
2d98dfc
pkg/crypto: tighten up
kevmoo Sep 18, 2013
e2766b3
add versions and constraints for packages and samples
Nov 6, 2013
7fb5d84
Revert "add versions and constraints for packages and samples"
Nov 6, 2013
d926df6
Re-land r29957 (add versions and constraints for packages and samples…
dgrove Nov 6, 2013
e0da359
pkg/unittest: added LICENSE
kevmoo Jan 13, 2014
7241b19
pkg/crypto: move tests to unittest package
kevmoo Feb 18, 2014
97b388e
Remove documentation links for repo packages.
nex3 Jul 24, 2014
d53f5f6
Convert crypto libraries to use Uint32Lists.
Jan 26, 2015
9ae1e28
More perf. improvements on crypto. _wordToBytes return Uint8List, but…
Jan 29, 2015
2d1487f
Update project to match OSS template
sgjesse Feb 24, 2015
232ad5a
Update .status for crypto package
sgjesse Feb 24, 2015
3dc6cc7
Update README.md
sethladd Mar 29, 2015
a9a89b2
Upgrade tests to the new version of test package
alehander92 May 28, 2015
8fd8d78
Implement a Base64 codec
alehander92 Jun 3, 2015
0d792fc
Add an option for percent-encoding of the padding character to Base64…
alehander92 Jun 3, 2015
2889b11
Simplify base64 streaming decoder, drop decoding check.
whesse Aug 5, 2015
c649fc8
Make base64 decoding return a Uint8List.
nex3 Sep 10, 2015
d79f23c
Don't pass type parameters to Uint8List.
nex3 Sep 10, 2015
7654daa
Add disclaimer to README
sethladd Sep 16, 2015
dff81f5
bump for 0.9.1 release
sethladd Sep 16, 2015
628d4ad
Link to test status
sethladd Sep 16, 2015
b88ac3c
Run the formatter over crypto.
nex3 Sep 16, 2015
c52be8b
Stop using parts.
nex3 Sep 16, 2015
d6fac23
a more generic example
sethladd Sep 17, 2015
0fa7c99
Fix the signature for CryptoUtils.bytesToBase64.
nex3 Sep 17, 2015
4979032
Don't assume 32-bit message bit lengths.
rmacnak-google Sep 17, 2015
a017cca
Mention fix for large inputs
sethladd Sep 17, 2015
e46bfe1
Update documentation comments.
nex3 Sep 17, 2015
9457e2f
Test large inputs for sha1 and sha256, also remove unused import.
sethladd Sep 17, 2015
9f49b56
mark two tests as slow
sethladd Sep 18, 2015
ad09324
Improve the style of code in lib/.
nex3 Sep 18, 2015
28bedeb
Improve the style of tests.
nex3 Sep 21, 2015
dec4eb1
Use a rich object to represent a message digest.
Ladicek Sep 21, 2015
af0aee0
Fix hmac_md5_test.
nex3 Sep 21, 2015
8e74c35
Change Hash subclasses to be Converters.
nex3 Sep 22, 2015
69914f1
Fix invocations of the MD5 constructors.
nex3 Sep 22, 2015
1e1d8ca
Make HMAC a Converter.
nex3 Sep 23, 2015
92e9868
Use the new test runner on the bots.
nex3 Sep 28, 2015
0a0265b
added HMAC to the README
Pacane Oct 10, 2015
af7747e
Merge pull request dart-lang/crypto#28 from Pacane/patch-1
sethladd Oct 10, 2015
73e9736
Get rid of all the library tags.
nex3 Jan 13, 2016
a6a7041
Update deprecations.
nex3 Mar 22, 2016
2fc5e45
Remove deprecated APIs.
nex3 Mar 23, 2016
00edd58
Avoid calling ByteData.setUint64.
nex3 Mar 23, 2016
dcd5e07
Merge branch '0.9.x'
nex3 Mar 23, 2016
c4edc49
Add Digest.hashCode.
nex3 Mar 23, 2016
018839c
fixed some strong-mode and analyzer issues
kevmoo Mar 23, 2016
4d6955d
fix example
kevmoo Mar 23, 2016
957a238
Fix strong mode warnings.
nex3 Apr 14, 2016
b3aff8b
Close underlying Hash sinks.
nex3 Apr 21, 2016
a5aa76f
Stop implementing ChunkedConverter.
nex3 Jun 3, 2016
4ca2bbb
Declare support for convert 2.0.0.
nex3 Jun 3, 2016
76bcc02
Actually declare the version as 2.0.1.
nex3 Jun 3, 2016
542c624
Enable Travis-CI
kevmoo Apr 7, 2017
02c11b8
Stop using deprecated pkg/test methods
kevmoo Apr 7, 2017
842f386
dartfmt
kevmoo Apr 7, 2017
8206772
Use the recommended name for analysis_options
kevmoo Apr 7, 2017
b7a8d25
Prepare dart/crypto library for limiting integers to 64 bits in Dart …
alexmarkov Jul 19, 2017
e5e81f6
Support SDK v2-dev (dart-lang/crypto#38)
kevmoo Jul 19, 2017
72cd9ad
Add missing dependency on pkg/typed_data (dart-lang/crypto#39)
kevmoo Jul 19, 2017
44fb582
test fewer things on travis (dart-lang/crypto#40)
kevmoo Sep 10, 2017
e7c400a
standardize on single quoted strings
kevmoo Sep 19, 2017
cfd0a55
fix indention in analysis_options
kevmoo Sep 19, 2017
78cd805
Fix SDK constraint, prepare for 2.0.2+1
kevmoo Sep 19, 2017
d8a43f6
Merge pull request dart-lang/crypto#41 from dart-lang/kevmoo_tweaks
lrhn Sep 19, 2017
a6d7b7c
Readme improvements (dart-lang/crypto#36)
hoylen Jan 20, 2018
2d5aaee
Stop testing Dartium on Travis (dart-lang/crypto#46)
kevmoo Feb 20, 2018
ecc1bc2
Remove upper case constants (dart-lang/crypto#47)
lrhn May 3, 2018
2972259
Remove 64 bit int constant so that dart2js can compile with crypto. (…
efortuna Jun 7, 2018
e1ae551
Change maximum message width to 3ffff...ff (dart-lang/crypto#52)
efortuna Jun 7, 2018
499aa0e
test: update to latest pkg:test (dart-lang/crypto#53)
kevmoo Jun 30, 2018
bd7bd9a
Support Dart 2 gold (dart-lang/crypto#58)
kevmoo Jul 13, 2018
e37f3b2
Enable and fix lints, test on oldest supported Dart SDK (dart-lang/cr…
kevmoo Apr 29, 2019
2b7c62f
Update examples to not rely on src/ imports (dart-lang/crypto#61)
greglittlefield-wf Jun 1, 2019
69627aa
Add missing SHA224, SHA384, and SHA512 (dart-lang/crypto#63)
jtmcdole Aug 5, 2019
8e3381f
UPdated CHANGELOG.md wth the changes from commit 69627aa1251f7ab95e2d…
efortuna Aug 5, 2019
e6b7ca9
added ignore: uri_does_not_exist workaround for conditional imports …
efortuna Aug 6, 2019
6b3a796
Revert "UPdated CHANGELOG.md wth the changes from commit 69627aa1251f…
efortuna Aug 6, 2019
95a7fa5
Revert "added ignore: uri_does_not_exist workaround for conditional …
efortuna Aug 6, 2019
8c035eb
Revert "Revert "UPdated CHANGELOG.md wth the changes from commit 6962…
efortuna Aug 6, 2019
4e293b9
Added a workaround for a bug in DDC (used in build_web_compilers 1.x).
efortuna Aug 6, 2019
e442072
Bump version number for re-publishing. (dart-lang/crypto#68)
efortuna Aug 6, 2019
187b482
Update SHA-384/512 Blocksize + Test
jtmcdole Aug 17, 2019
1a69c58
Nits
jtmcdole Aug 20, 2019
fe42a34
Merge pull request dart-lang/crypto#71 from jtmcdole/fixHmac512
jonasfj Aug 20, 2019
50d428d
Fixed constant-time comparison in `Digest`.
jonasfj Sep 10, 2019
cd042ee
Merge pull request dart-lang/crypto#76 from jonasfj/fix-constant-time…
jonasfj Sep 10, 2019
f6fa75a
SHA 512/384 padding is 128 bit (dart-lang/crypto#77)
jtmcdole Dec 4, 2019
b5080d6
Fix newly enforced package:pedantic lints (dart-lang/crypto#81)
natebosch Dec 7, 2019
db8c77f
Run browser tests in chrome (dart-lang/crypto#87)
kevmoo Mar 20, 2020
0d8f029
Update README links to pub.dev (dart-lang/crypto#89)
kevmoo May 20, 2020
8455796
Rename example/hasher.dart -> example/example.dart (dart-lang/crypto#91)
kevmoo May 20, 2020
626b676
add changelog, prepare for 2.1.5 (dart-lang/crypto#92)
kevmoo May 20, 2020
f662c89
Migrate to null safety (dart-lang/crypto#99)
natebosch Aug 10, 2020
1408b29
Remove deleted null_safety branch from Travis (dart-lang/crypto#100)
natebosch Aug 10, 2020
f1e1162
Bump upper bound SDK constraint (dart-lang/crypto#101)
natebosch Sep 25, 2020
b320d8a
Adds FIPS 180-4 512/t variants (dart-lang/crypto#75)
jtmcdole Oct 19, 2020
0e6f1eb
Clean-up of minor details. Deprecated `newInstance `methods. (dart-la…
lrhn Nov 12, 2020
ac97a9e
Upgrade SDK dependency to 2.12.0-0 (dart-lang/crypto#107)
lrhn Nov 26, 2020
6e65554
Drop optional new from code samples (dart-lang/crypto#108)
natebosch Dec 9, 2020
5ea4790
Major version increment. (dart-lang/crypto#104)
lrhn Dec 10, 2020
c4aefc6
migrate to new `dart` cli
pq Dec 10, 2020
241610e
Merge pull request dart-lang/crypto#110 from dart-lang/pq-cli-migration
pq Dec 10, 2020
635a24b
Migrate to GitHub Actions (dart-lang/crypto#111)
athomas Dec 21, 2020
faf936c
Prepare to publish for stable null safety (dart-lang/crypto#112)
natebosch Feb 2, 2021
7e20c0b
Update LICENSE
franklinyow Mar 31, 2021
d9678dc
Merge pull request dart-lang/crypto#113 from dart-lang/franklinyow-pa…
franklinyow Mar 31, 2021
8879235
Fix stale links to docs (dart-lang/crypto#115)
natebosch Apr 1, 2021
8254683
Fix newly enforced lint (dart-lang/crypto#116)
kevmoo Apr 26, 2021
97c9013
Move from pedantic to lints package (dart-lang/crypto#119)
natebosch Jul 22, 2021
6900f86
Remove 'www' subdomain in repository url (dart-lang/crypto#120)
Coronon Jul 28, 2021
8c88397
Fix spelling in some doc comments (dart-lang/crypto#126)
kevmoo Apr 15, 2022
5c3a6a1
Drop dependency on pkg:collection (dart-lang/crypto#127)
kevmoo Apr 15, 2022
70dec45
Replace right shift with truncating divide (dart-lang/crypto#128)
natebosch Apr 18, 2022
53f0f64
Prepare to publish (dart-lang/crypto#129)
natebosch Apr 27, 2022
9d1fb56
add standard markdown badges to the readme (dart-lang/crypto#131)
devoncarew Aug 16, 2022
8185b90
refactor tests to use a more compact encoding (dart-lang/crypto#134)
devoncarew Nov 3, 2022
e5f0fe5
blast_repo fixes (dart-lang/crypto#136)
devoncarew Nov 10, 2022
670fdc3
Bump actions/checkout from 3.1.0 to 3.2.0 (dart-lang/crypto#138)
dependabot[bot] Jan 3, 2023
a9da67a
Bump dart-lang/setup-dart from 1.3 to 1.4 (dart-lang/crypto#140)
dependabot[bot] Feb 1, 2023
a7dca6f
Bump actions/checkout from 3.2.0 to 3.3.0 (dart-lang/crypto#139)
dependabot[bot] Feb 1, 2023
06b8402
move to pkg:dart_flutter_team_lints, require Dart 2.19 (dart-lang/cry…
kevmoo Feb 24, 2023
8b4113e
Bump actions/checkout from 3.3.0 to 3.5.0 (dart-lang/crypto#143)
dependabot[bot] Apr 4, 2023
b7216b3
Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (dart-lang/crypto#142)
dependabot[bot] Apr 4, 2023
5bcdfd4
Make `DigestSink` implement `Sink` (dart-lang/crypto#146)
lrhn Apr 19, 2023
56cec59
Prepare release with topics (dart-lang/crypto#148)
jonasfj May 4, 2023
01e697f
Bump actions/checkout from 3.5.0 to 3.5.2 (dart-lang/crypto#147)
dependabot[bot] May 8, 2023
b9f8b38
blast_repo fixes (dart-lang/crypto#149)
devoncarew May 15, 2023
6de1d6e
Bump actions/checkout from 3.5.2 to 3.5.3 (dart-lang/crypto#150)
dependabot[bot] Jul 1, 2023
62cf71d
Bump actions/checkout from 3.5.3 to 3.6.0 (dart-lang/crypto#151)
dependabot[bot] Sep 1, 2023
542024b
Bump dart-lang/setup-dart from 1.5.0 to 1.5.1 (dart-lang/crypto#153)
dependabot[bot] Oct 1, 2023
10ba527
Bump actions/checkout from 3.6.0 to 4.1.0 (dart-lang/crypto#154)
dependabot[bot] Oct 3, 2023
9dd8e85
Bump actions/checkout from 4.1.0 to 4.1.1 (dart-lang/crypto#156)
dependabot[bot] Nov 1, 2023
5cfa655
Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (dart-lang/crypto#155)
dependabot[bot] Nov 1, 2023
0156af5
blast_repo fixes (dart-lang/crypto#157)
kevmoo Dec 19, 2023
d647ce3
Bump actions/stale from 8.0.0 to 9.0.0 (dart-lang/crypto#160)
dependabot[bot] Jan 1, 2024
3d8e528
Require Dart 3.2, update and fix lints (dart-lang/crypto#158)
kevmoo Jan 2, 2024
2dcc39e
Bump dart-lang/setup-dart from 1.6.0 to 1.6.2 (dart-lang/crypto#161)
dependabot[bot] Feb 1, 2024
00376da
Test dart2wasm (dart-lang/crypto#162)
kevmoo Feb 8, 2024
61dca74
Switch sha512 to use fastpath with wasm (dart-lang/crypto#165)
kevmoo Mar 21, 2024
c25b4c7
Bump actions/checkout from 4.1.1 to 4.1.2 (dart-lang/crypto#166)
dependabot[bot] Apr 1, 2024
b757af1
Bump dart-lang/setup-dart from 1.6.2 to 1.6.4 (dart-lang/crypto#168)
dependabot[bot] May 1, 2024
5536a00
Bump actions/checkout from 4.1.2 to 4.1.4 (dart-lang/crypto#169)
dependabot[bot] May 1, 2024
237d7ad
blast_repo fixes (dart-lang/crypto#170)
devoncarew May 3, 2024
d077ead
Bump actions/checkout from 4.1.4 to 4.1.6 in the github-actions group…
dependabot[bot] Jun 2, 2024
ad0c9ed
Bump lints dep (dart-lang/crypto#172)
kevmoo Jun 4, 2024
6b58ca3
Update min SDK, test wasm on 3.4 (dart-lang/crypto#174)
kevmoo Jun 10, 2024
d910f95
Bump the github-actions group with 2 updates (dart-lang/crypto#175)
dependabot[bot] Jul 1, 2024
02bcf3e
Prepare to release v3.0.4 (dart-lang/crypto#178)
kevmoo Aug 13, 2024
686d021
Revert wasm using fast path due to dart-lang/sdk/issues/55266 (dart-l…
kevmoo Aug 15, 2024
97bd0c3
Bump actions/checkout from 4.1.7 to 4.2.0 in the github-actions group…
dependabot[bot] Oct 4, 2024
6f54342
Merge package:crypto
mosuem Oct 15, 2024
2d5587c
Moving fixes
mosuem Oct 15, 2024
8fcbb73
Merge branch 'main' into merge-crypto-package
mosuem Oct 16, 2024
5a1b799
Changes as per review
mosuem Oct 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
- changed-files:
- any-glob-to-any-file: 'pkgs/args/**'

"package:crypto":
- changed-files:
- any-glob-to-any-file: 'pkgs/crypto/**'

"package:fixnum":
- changed-files:
- any-glob-to-any-file: 'pkgs/fixnum/**'
77 changes: 77 additions & 0 deletions .github/workflows/crypto.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: package:crypto

on:
# Run CI on pushes to the main branch, and on PRs against main.
push:
branches: [ main ]
paths:
- '.github/workflows/crypto.yaml'
- 'pkgs/crypto/**'
pull_request:
branches: [ main ]
paths:
- '.github/workflows/crypto.yaml'
- 'pkgs/crypto/**'
schedule:
- cron: "0 0 * * 0"
env:
PUB_ENVIRONMENT: bot.github

defaults:
run:
working-directory: pkgs/crypto/

jobs:
# Check code formatting and static analysis on a single OS (linux)
# against Dart dev.
analyze:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sdk: [dev]
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: dart-lang/setup-dart@0a8a0fc875eb934c15d08629302413c671d3f672
with:
sdk: ${{ matrix.sdk }}
- id: install
name: Install dependencies
run: dart pub get
- name: Check formatting
run: dart format --output=none --set-exit-if-changed .
if: always() && steps.install.outcome == 'success'
- name: Analyze code
run: dart analyze --fatal-infos
if: always() && steps.install.outcome == 'success'

# Run tests on a matrix consisting of two dimensions:
# 1. OS: ubuntu-latest, (macos-latest, windows-latest)
# 2. release channel: dev
test:
needs: analyze
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# Add macos-latest and/or windows-latest if relevant for this package.
os: [ubuntu-latest]
sdk: [3.4, dev]
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: dart-lang/setup-dart@0a8a0fc875eb934c15d08629302413c671d3f672
with:
sdk: ${{ matrix.sdk }}
- id: install
name: Install dependencies
run: dart pub get
- name: Run VM tests
run: dart test --platform vm
if: always() && steps.install.outcome == 'success'
- name: Run Chrome tests
run: dart test --platform chrome
if: always() && steps.install.outcome == 'success'
- name: Run Chrome tests - wasm
# TODO: investigate why we get hangs when concurrency is > 1
run: dart test --platform chrome --compiler dart2wasm -j 1
if: always() && steps.install.outcome == 'success'
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ This repository is home to various Dart packages under the [dart.dev](https://pu
| Package | Description | Version |
|---|---|---|
| [args](pkgs/args/) | Library for defining parsers for parsing raw command-line arguments into a set of options and values. | [![pub package](https://img.shields.io/pub/v/args.svg)](https://pub.dev/packages/args) |
| [crypto](pkgs/crypto/) | Implementations of SHA, MD5, and HMAC cryptographic functions. | [![pub package](https://img.shields.io/pub/v/crypto.svg)](https://pub.dev/packages/crypto) |
| [fixnum](pkgs/fixnum/) | Library for 32- and 64-bit signed fixed-width integers. | [![pub package](https://img.shields.io/pub/v/fixnum.svg)](https://pub.dev/packages/fixnum) |

## Publishing automation
Expand Down
3 changes: 3 additions & 0 deletions pkgs/crypto/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.dart_tool
.packages
pubspec.lock
5 changes: 5 additions & 0 deletions pkgs/crypto/.test_config
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"test_package": {
"platforms": ["vm"]
}
}
6 changes: 6 additions & 0 deletions pkgs/crypto/AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Below is a list of people and organizations that have contributed
# to the project. Names should be added to the list like so:
#
# Name/Organization <email address>

Google Inc.
169 changes: 169 additions & 0 deletions pkgs/crypto/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
## 3.0.6

* Move to `dart-lang/core` monorepo.

## 3.0.5

* Revert switch to enable fast "sinks" on Wasm because it breaks `dart2js` with
server mode.

## 3.0.4

* Fix WebAssembly support.
* Require Dart 3.4

## 3.0.3

* Require Dart 2.19.0.
* Add topics to `pubspec.yaml`.

## 3.0.2

* Require Dart 2.14.0.
* Fix bug calculating hashes for content larger than 512MB when compiled to JS.

## 3.0.1

* Fix doc links in README.

## 3.0.0

* Stable release for null safety.
* Adds SHA-2 512/224 and SHA-2 512/256 from FIPS 180-4
* Removes `newInstance` instance members on some classes
and updates documentation.

## 2.1.5

* Improve example and package description to address package site maintenance
suggestions.

## 2.1.4
* BugFix: padding was incorrect for some SHA-512/328.

## 2.1.3
* **Security vulnerability**: Fixed constant-time comparison in `Digest`.

## 2.1.2
* Fix bug in SHA-2 384/512 blocksize.
* Added HMAC-SHA-2 test vectors

## 2.1.1+1
* Bump version number for publish mishap (spare file uploaded with `pub
publish`).

## 2.1.1
* Added a workaround for a bug in DDC (used in build_web_compilers 1.x).
This bug is not present in DDK (used in build_web_compilers 2.x).

## 2.1.0
* Added SHA384, and SHA512
* Add Sha224 + Refactor
* Support 32bit and 64bit operations for SHA384/51
* Add conditional imports
* De-listify 32bit allocations
* Add sha monte tests for 224,256,384, and 512

## 2.0.5

* Changed the max message size instead to 0x3ffffffffffff, which is the largest
portable value for both JS and the Dart VM.

## 2.0.4

* Made max message size a BigNum instead of an int so that dart2js can compile
with crypto.

## 2.0.3

* Updated SDK version to 2.0.0-dev.17.0

## 2.0.2+1

* Fix SDK constraint.

## 2.0.2

* Prepare `HashSink` implementation for limiting integers to 64 bits in Dart
language.

## 2.0.1

* Support `convert` 2.0.0.

## 2.0.0

**Note**: There are no APIs in 2.0.0 that weren't also in 0.9.2. Packages that
would use 2.0.0 as a lower bound should use 0.9.2 instead—for example, `crypto:
">=0.9.2 <3.0.0"`.

* `Hash` and `Hmac` no longer extend `ChunkedConverter`.

## 1.1.1

* Properly close sinks passed to `Hash.startChunkedConversion()` when
`ByteConversionSink.close()` is called.

## 1.1.0

* `Hmac` and `Hash` now extend the new `ChunkedConverter` class from
`dart:convert`.

* Fix all strong mode warnings.

## 1.0.0

* All APIs that were deprecated in 0.9.2 have been removed. No new APIs have
been added. Packages that would use 1.0.0 as a lower bound should use 0.9.2
instead—for example, `crypto: ">=0.9.2 <2.0.0"`.

## 0.9.2+1

* Avoid core library methods that don't work on dart2js.

## 0.9.2

* `Hash`, `MD5`, `SHA1`, and `SHA256` now implement `Converter`. They convert
between `List<int>`s and the new `Digest` class, which represents a hash
digest. The `Converter` APIs—`Hash.convert()` and
`Hash.startChunkedConversion`—should be used in preference to the old APIs,
which are now deprecated.

* `SHA1`, `SHA256`, and `HMAC` have been renamed to `Sha1`, `Sha256`, and
`Hmac`, respectively. The old names still work, but are deprecated.

* Top-level `sha1`, `sha256`, and `md5` fields have been added to make it easier
to use those hash algorithms without having to instantiate new instances.

* Hashing now works correctly for input sizes up to 2^64 bytes.

### Deprecations

* `Hash.add`, `Hash.close`, and `Hash.newInstance` are deprecated.
`Hash.convert` should be used for hashing single values, and
`Hash.startChunkedConversion` should be used for hashing streamed values.

* `SHA1` and `SHA256` are deprecated. Use the top-level `sha1` and `sha256`
fields instead.

* While the `MD5` class is not deprecated, the `new MD5()` constructor is. Use
the top-level `md5` field instead.

* `HMAC` is deprecated. Use `Hmac` instead.

* `Base64Codec`, `Base64Encoder`, `Base64Decoder`, `Base64EncoderSink`,
`Base64DecoderSink`, and `BASE64` are deprecated. Use the Base64 APIs in
`dart:convert` instead.

* `CryptoUtils` is deprecated. Use the Base64 APIs in `dart:convert` and the hex
APIs in the `convert` package instead.

## 0.9.1

* Base64 convert returns an Uint8List
* Base64 codec and encoder can now take an encodePaddingCharacter
* Implement a Base64 codec similar to codecs in 'dart:convert'

## 0.9.0

* ChangeLog starts here.
27 changes: 27 additions & 0 deletions pkgs/crypto/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Copyright 2015, the Dart project authors.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Google LLC nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Loading
Loading