d4t_formulas/.pub-cache/hosted/pub.dev/crypto-3.0.6/example/example.dart
Álvaro González 1d339653d5 feat: add formula data classes with strict JSON parsing
- Add VariableSpec class with magnitude field validation
- Add Formula class supporting multiple input/output variables
- Support d4rt_code as string or object with code field
- Add comprehensive tests for parsing and serialization
- Fix broken test import in pruebas_d4rt_test.dart

Follows README.md format requirements exactly
2025-08-21 17:15:00 +02:00

49 lines
1.1 KiB
Dart

// Copyright (c) 2015, 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.
import 'dart:async';
import 'dart:io';
import 'package:crypto/crypto.dart';
final _usage = 'Usage: dart hash.dart <md5|sha1|sha256> <input_filename>';
Future<void> main(List<String> args) async {
if (args.length != 2) {
print(_usage);
exitCode = 64; // Command was used incorrectly.
return;
}
Hash hasher;
switch (args[0]) {
case 'md5':
hasher = md5;
break;
case 'sha1':
hasher = sha1;
break;
case 'sha256':
hasher = sha256;
break;
default:
print(_usage);
exitCode = 64; // Command was used incorrectly.
return;
}
var filename = args[1];
var input = File(filename);
if (!input.existsSync()) {
print('File "$filename" does not exist.');
exitCode = 66; // An input file did not exist or was not readable.
return;
}
var value = await hasher.bind(input.openRead()).first;
print(value);
}