sha1sum.c 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * (C) Copyright 2011
  4. * Joe Hershberger, National Instruments, joe.hershberger@ni.com
  5. *
  6. * (C) Copyright 2000
  7. * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  8. */
  9. #include <common.h>
  10. #include <command.h>
  11. #include <hash.h>
  12. #include <u-boot/sha1.h>
  13. int do_sha1sum(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
  14. {
  15. int flags = HASH_FLAG_ENV;
  16. int ac;
  17. char * const *av;
  18. if (argc < 3)
  19. return CMD_RET_USAGE;
  20. av = argv + 1;
  21. ac = argc - 1;
  22. #ifdef CONFIG_SHA1SUM_VERIFY
  23. if (strcmp(*av, "-v") == 0) {
  24. flags |= HASH_FLAG_VERIFY;
  25. av++;
  26. ac--;
  27. }
  28. #endif
  29. return hash_command("sha1", flags, cmdtp, flag, ac, av);
  30. }
  31. #ifdef CONFIG_SHA1SUM_VERIFY
  32. U_BOOT_CMD(
  33. sha1sum, 5, 1, do_sha1sum,
  34. "compute SHA1 message digest",
  35. "address count [[*]sum]\n"
  36. " - compute SHA1 message digest [save to sum]\n"
  37. "sha1sum -v address count [*]sum\n"
  38. " - verify sha1sum of memory area"
  39. );
  40. #else
  41. U_BOOT_CMD(
  42. sha1sum, 4, 1, do_sha1sum,
  43. "compute SHA1 message digest",
  44. "address count [[*]sum]\n"
  45. " - compute SHA1 message digest [save to sum]"
  46. );
  47. #endif