u-boot/cmd/md5sum.c
Igor Opaniuk 6ec3f92089 cmd: md5sum: use hash_command
Drop old implementation and use hash_command() instead, as
how it's currently done for crc32 and sha1sum cmds.

Test:
=> md5sum 0x60000000 0x200
md5 for 60000000 ... 600001ff ==> e6bbbe95f5b41996f4a9b9af7bbd4050

Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
2024-03-07 09:23:10 -05:00

56 lines
1.2 KiB
C

// SPDX-License-Identifier: GPL-2.0+
/*
* (C) Copyright 2011
* Joe Hershberger, National Instruments, joe.hershberger@ni.com
*
* (C) Copyright 2000
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*/
#include <command.h>
#include <env.h>
#include <image.h>
#include <hash.h>
#include <mapmem.h>
#include <u-boot/md5.h>
#include <asm/io.h>
static int do_md5sum(struct cmd_tbl *cmdtp, int flag, int argc,
char *const argv[])
{
int flags = HASH_FLAG_ENV;
int ac;
char *const *av;
if (argc < 3)
return CMD_RET_USAGE;
av = argv + 1;
ac = argc - 1;
if (IS_ENABLED(CONFIG_MD5SUM_VERIFY) && strcmp(*av, "-v") == 0) {
flags |= HASH_FLAG_VERIFY;
av++;
ac--;
}
return hash_command("md5", flags, cmdtp, flag, ac, av);
}
#if IS_ENABLED(CONFIG_MD5SUM_VERIFY)
U_BOOT_CMD(
md5sum, 5, 1, do_md5sum,
"compute MD5 message digest",
"address count [[*]sum]\n"
" - compute MD5 message digest [save to sum]\n"
"md5sum -v address count [*]sum\n"
" - verify md5sum of memory area"
);
#else
U_BOOT_CMD(
md5sum, 4, 1, do_md5sum,
"compute MD5 message digest",
"address count [[*]sum]\n"
" - compute MD5 message digest [save to sum]"
);
#endif /* IS_ENABLED(CONFIG_MD5SUM_VERIFY) */