Skip to content
Merged

Shamore #25177

Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions dist/plugins-cfg/plugins.def.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,8 @@ muta.aes
muta.sha1
muta.md5
muta.sha256
muta.sha384
muta.sha512
muta.aes_cbc
muta.aes_wrap
muta.base64
Expand Down
5 changes: 2 additions & 3 deletions libr/bin/format/mach0/coresymbolication.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
/* radare - LGPL - Copyright 2020-2025 - mrmacete */
/* radare - LGPL - Copyright 2020-2026 - mrmacete */

#include <r_util.h>
#include <r_hash.h>
#include "coresymbolication.h"

#define R_CS_EL_OFF_SEGS 0x58
Expand Down Expand Up @@ -126,7 +125,7 @@ static void meta_add_fileline(RBinFile *bf, ut64 vaddr, ut32 size, RCoreSymCache
static char *str_dup_safe(const ut8 *b, const ut8 *str, const ut8 *end) {
if (str >= b && str < end) {
int len = r_str_nlen ((const char *)str, end - str);
if (len) {
if (len > 0) {
return r_str_ndup ((const char *)str, len);
}
}
Expand Down
2 changes: 2 additions & 0 deletions libr/include/r_muta.h
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,8 @@ extern RMutaPlugin r_muta_plugin_rol;
extern RMutaPlugin r_muta_plugin_md5;
extern RMutaPlugin r_muta_plugin_sha1;
extern RMutaPlugin r_muta_plugin_sha256;
extern RMutaPlugin r_muta_plugin_sha384;
extern RMutaPlugin r_muta_plugin_sha512;
extern RMutaPlugin r_muta_plugin_ror;
extern RMutaPlugin r_muta_plugin_serpent;
extern RMutaPlugin r_muta_plugin_sip;
Expand Down
2 changes: 2 additions & 0 deletions libr/muta/p/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ include strhash.mk
include md5.mk
include sha1.mk
include sha256.mk
include sha384.mk
include sha512.mk
include xor.mk
include charset_pokemon.mk
include charset_ascii.mk
Expand Down
37 changes: 37 additions & 0 deletions libr/muta/p/muta_sha384.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/* radare - LGPL - Copyright 2024-2026 - pancake */

Copy link

Copilot AI Jan 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing required includes. The file uses RHash type and related functions but doesn't include <r_lib.h> and <r_hash.h>. These includes are present in all similar hash plugin implementations (sha1, sha256, md5) and are necessary for the code to compile.

Suggested change
#include <r_lib.h>
#include <r_hash.h>

Copilot uses AI. Check for mistakes.
#include <r_muta.h>

static bool update(RMutaSession *cj, const ut8 *buf, int len) {
RHash *ctx = r_hash_new (true, R_HASH_SHA384);
if (R_LIKELY (ctx)) {
r_hash_do_begin (ctx, R_HASH_SHA384);
r_hash_do_sha384 (ctx, buf, len);
r_hash_do_end (ctx, R_HASH_SHA384);
r_muta_session_append (cj, ctx->digest, R_HASH_SIZE_SHA384);
r_hash_free (ctx);
return true;
}
return false;
Comment thread
trufae marked this conversation as resolved.
}

RMutaPlugin r_muta_plugin_sha384 = {
.meta = {
.name = "sha384",
.desc = "SHA384 hash",
.author = "pancake",
.license = "MIT",
},
.type = R_MUTA_TYPE_HASH,
.implements = "sha384",
.update = update,
.end = update
};

#ifndef R2_PLUGIN_INCORE
R_API RLibStruct radare_plugin = {
.type = R_LIB_TYPE_CRYPTO,
.data = &r_muta_plugin_sha384,
.version = R2_VERSION
};
#endif
39 changes: 39 additions & 0 deletions libr/muta/p/muta_sha512.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/* radare - LGPL - Copyright 2024-2026 - pancake */

#include <r_lib.h>
#include <r_muta.h>
#include <r_hash.h>

static bool update(RMutaSession *cj, const ut8 *buf, int len) {
RHash *ctx = r_hash_new (true, R_HASH_SHA512);
if (!ctx) {
return false;
}
r_hash_do_begin (ctx, R_HASH_SHA512);
r_hash_do_sha512 (ctx, buf, len);
r_hash_do_end (ctx, R_HASH_SHA512);
r_muta_session_append (cj, ctx->digest, R_HASH_SIZE_SHA512);
r_hash_free (ctx);
return true;
}

RMutaPlugin r_muta_plugin_sha512 = {
.meta = {
.name = "sha512",
.desc = "SHA512 hash",
.author = "pancake",
.license = "MIT",
},
.type = R_MUTA_TYPE_HASH,
.implements = "sha512",
.update = update,
.end = update
};

#ifndef R2_PLUGIN_INCORE
R_API RLibStruct radare_plugin = {
.type = R_LIB_TYPE_CRYPTO,
.data = &r_muta_plugin_sha512,
.version = R2_VERSION
};
#endif
15 changes: 15 additions & 0 deletions libr/muta/p/sha384.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
OBJ_SHA384=muta_sha384.o
SRC_SHA384=muta_sha384.c

STATIC_OBJ+=${OBJ_SHA384}
SHARED_SHA384=$(SHLIBDIR)$(LDFLAGS) $(LIBOBJ)

TARGET_SHA384=muta_sha384.${EXT_SO}

all: $(TARGET_SHA384)

$(TARGET_SHA384): $(OBJ_SHA384)
$(CC) $(call libname,muta_sha384) ${LDFLAGS} ${CFLAGS} -o ${TARGET_SHA384} ${OBJ_SHA384}

clean::
rm -f *.o *.${EXT_SO} *.a
Comment on lines +5 to +15
Copy link

Copilot AI Jan 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing SRC_SHA384 variable usage and incorrect structure. The new sha384.mk file doesn't follow the established pattern used by other hash plugins. Compared to sha256.mk and sha1.mk, this file includes extra unused lines (lines 2, 5, 9, 14-15) and is missing the ALL_TARGETS variable that is used in all other .mk files to properly register the target.

Suggested change
SHARED_SHA384=$(SHLIBDIR)$(LDFLAGS) $(LIBOBJ)
TARGET_SHA384=muta_sha384.${EXT_SO}
all: $(TARGET_SHA384)
$(TARGET_SHA384): $(OBJ_SHA384)
$(CC) $(call libname,muta_sha384) ${LDFLAGS} ${CFLAGS} -o ${TARGET_SHA384} ${OBJ_SHA384}
clean::
rm -f *.o *.${EXT_SO} *.a
ALL_TARGETS+=muta_sha384.${EXT_SO}

Copilot uses AI. Check for mistakes.
15 changes: 15 additions & 0 deletions libr/muta/p/sha512.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
OBJ_SHA512=muta_sha512.o
SRC_SHA512=muta_sha512.c

STATIC_OBJ+=${OBJ_SHA512}
SHARED_SHA512=$(SHLIBDIR)$(LDFLAGS) $(LIBOBJ)

TARGET_SHA512=muta_sha512.${EXT_SO}

all: $(TARGET_SHA512)

$(TARGET_SHA512): $(OBJ_SHA512)
$(CC) $(call libname,muta_sha512) ${LDFLAGS} ${CFLAGS} -o ${TARGET_SHA512} ${OBJ_SHA512}

clean::
rm -f *.o *.${EXT_SO} *.a
Comment on lines +2 to +15
Copy link

Copilot AI Jan 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing SRC_SHA512 variable usage and incorrect structure. The new sha512.mk file doesn't follow the established pattern used by other hash plugins. Compared to sha256.mk and sha1.mk, this file includes extra unused lines (lines 2, 5, 9, 14-15) and is missing the ALL_TARGETS variable that is used in all other .mk files to properly register the target.

Suggested change
SRC_SHA512=muta_sha512.c
STATIC_OBJ+=${OBJ_SHA512}
SHARED_SHA512=$(SHLIBDIR)$(LDFLAGS) $(LIBOBJ)
TARGET_SHA512=muta_sha512.${EXT_SO}
all: $(TARGET_SHA512)
$(TARGET_SHA512): $(OBJ_SHA512)
$(CC) $(call libname,muta_sha512) ${LDFLAGS} ${CFLAGS} -o ${TARGET_SHA512} ${OBJ_SHA512}
clean::
rm -f *.o *.${EXT_SO} *.a
STATIC_OBJ+=${OBJ_SHA512}
TARGET_SHA512=muta_sha512.${EXT_SO}
ALL_TARGETS+=${TARGET_SHA512}
$(TARGET_SHA512): $(OBJ_SHA512)
$(CC) $(call libname,muta_sha512) ${LDFLAGS} ${CFLAGS} -o ${TARGET_SHA512} ${OBJ_SHA512}

Copilot uses AI. Check for mistakes.
2 changes: 1 addition & 1 deletion test/db/cmd/hash
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,6 @@ CMDS=<<EOF
phj
EOF
EXPECT=<<EOF
[{"name":"add","type":"hash","name":"add","desc":"Add checksum used by Tar (sum all bytes into ut32)","author":"pancake","license":"MIT"},{"name":"aes-ecb","type":"crypto","name":"aes-ecb","desc":"Rijndael block cipher with Electronic Code Book mode","author":"pancake","license":"MIT"},{"name":"aes-cbc","type":"crypto","name":"aes-cbc","desc":"Rijndael block cipher with Cipher Block Chaining mode","author":"pancake","license":"LGPL-3.0-only"},{"name":"aes-wrap","type":"crypto","name":"aes-wrap","desc":"Rijndael block cipher with Key Wrap Algorithm (RFC 3394)","author":"Sylvain Pelissier","license":"LGPL-3.0-only"},{"name":"base64","type":"crypto","name":"base64","desc":"Binary to text encoding scheme using 64 ascii characters","author":"rakholiyajenish.07","license":"LGPL-3.0-only"},{"name":"base91","type":"base","name":"base91","desc":"Binary to text encoding scheme using 91 ascii characters","author":"rakholiyajenish.07","license":"MIT"},{"name":"bech32","type":"base","name":"bech32","author":"W0nda","license":"BSD-3-Clause"},{"name":"blowfish","type":"crypto","name":"blowfish","desc":"Bruce Schneier's symetric-key block cipher","author":"pancake","license":"LGPL-3.0-only"},{"name":"arabic_iso","type":"charset","name":"arabic_iso","desc":"arabic ISO stub","license":"MIT"},{"name":"arabic_windows","type":"charset","name":"arabic_windows","desc":"arabic Windows stub","license":"MIT"},{"name":"ascii","type":"charset","name":"ascii","desc":"ASCII character set encoding/decoding","license":"MIT"},{"name":"ascii_ansi","type":"charset","name":"ascii_ansi","desc":"ASCII ANSI stub","license":"MIT"},{"name":"ascii_oem","type":"charset","name":"ascii_oem","desc":"ASCII OEM stub","license":"MIT"},{"name":"big5","type":"charset","name":"big5","desc":"Big5 stub","license":"MIT"},{"name":"cyrillic_iso","type":"charset","name":"cyrillic_iso","desc":"Cyrillic ISO stub","license":"MIT"},{"name":"cyrillic_windows","type":"charset","name":"cyrillic_windows","desc":"Windows-1251 (partial)","license":"MIT"},{"name":"ebcdic37","type":"charset","name":"ebcdic37","desc":"EBCDIC CP37 charset","license":"MIT"},{"name":"greek_iso","type":"charset","name":"greek_iso","desc":"Greek ISO stub","license":"MIT"},{"name":"greek_windows","type":"charset","name":"greek_windows","desc":"Windows-1253 (partial)","license":"MIT"},{"name":"hebrew_iso","type":"charset","name":"hebrew_iso","desc":"Hebrew ISO stub","license":"MIT"},{"name":"hebrew_windows","type":"charset","name":"hebrew_windows","desc":"Hebrew Windows stub","license":"MIT"},{"name":"hiragana","type":"charset","name":"hiragana","desc":"Hiragana stub","license":"MIT"},{"name":"iso8859_1","type":"charset","name":"iso8859_1","desc":"ISO-8859-1 charset","license":"MIT"},{"name":"iso_646","type":"charset","name":"iso_646","desc":"ISO 646 (IRV)","license":"MIT"},{"name":"jis7","type":"charset","name":"jis7","desc":"JIS 7-bit Roman (ASCII-like)","license":"MIT"},{"name":"katakana","type":"charset","name":"katakana","desc":"Katakana mapping (legacy-compatible)","license":"MIT"},{"name":"macintosh","type":"charset","name":"macintosh","desc":"Macintosh Roman (partial)","license":"MIT"},{"name":"pokemon","type":"charset","name":"pokemon","desc":"Transcode from/to Pokémon charset used in Gen 1 games","license":"MIT"},{"name":"pokered","type":"charset","name":"pokered","desc":"Pokemon Red charset","license":"MIT"},{"name":"cps2","type":"crypto","name":"cps2","desc":"Capcom Play System 2","author":"pof,esanfelix","license":"LGPL-3.0-only"},{"name":"des-ecb","type":"crypto","name":"des-ecb","desc":"DES with with Electronic Code Book mode","author":"deroad","license":"LGPL-3.0-only"},{"name":"ed25519","type":"sign","name":"ed25519","desc":"Elliptic curve pubkey cryptographic algorithm used for signing and verification","author":"Sylvain Pelissier","license":"Zlib"},{"name":"entropy","type":"hash","name":"entropy","desc":"Shannon entropy","author":"pancake","license":"MIT"},{"name":"md5","type":"hash","name":"md5","desc":"MD5 hash","author":"pancake","license":"MIT"},{"name":"null","type":"hash","name":"null","desc":"mutate nothing","author":"pancake","license":"MIT"},{"name":"punycode","type":"charset","name":"punycode","desc":"Unicoded represented in plain ascii","author":"pancake","license":"LGPL-3.0-only"},{"name":"rc2","type":"crypto","name":"rc2","desc":"Ron Rivest's Code symmetric key encryption also known as ARC2","author":"pancake","license":"LGPL-3.0-only"},{"name":"rc4","type":"crypto","name":"rc4","desc":"Rivest Cipher 4","author":"pancake","license":"LGPL-3.0-only"},{"name":"rc6","type":"crypto","name":"rc6","desc":"Rivest's Cipher 6","author":"pancake","license":"LGPL-3.0-only"},{"name":"rol","type":"crypto","name":"rol","desc":"Rotate Left N bits","author":"pancake","license":"LGPL-3.0-only"},{"name":"ror","type":"crypto","name":"ror","desc":"Rotate Right N bits","author":"pancake","license":"LGPL-3.0-only"},{"name":"rot","type":"crypto","name":"rot","desc":"Rotate Encryption","author":"pancake","license":"MIT"},{"name":"serpent-ecb","type":"crypto","name":"serpent-ecb","desc":"Serpent block cipher with Electronic Code Book mode","author":"pancake","license":"LGPL-3.0-only"},{"name":"sha1","type":"hash","name":"sha1","desc":"SHA1 hash","author":"pancake","license":"MIT"},{"name":"sha256","type":"hash","name":"sha256","desc":"SHA256 hash","author":"pancake","license":"MIT"},{"name":"sip","type":"hash","name":"sip","desc":"SipHash-2-4","author":"pancake","license":"MIT"},{"name":"sm4-ecb","type":"crypto","name":"sm4-ecb","desc":"ShāngMì4 block cipher with Electronic Code Book mode","author":"Sylvain Pelissier","license":"LGPL-3.0-only"},{"name":"strhash","type":"hash","name":"strhash","desc":"String hash using a modified DJB2 xor","author":"pancake","license":"MIT"},{"name":"xor","type":"crypto","name":"xor","desc":"Byte level Exclusive Or","author":"pancake","license":"MIT"},{"type":"hash","name":"md5"},{"type":"hash","name":"sha1"},{"type":"hash","name":"sha256"},{"type":"hash","name":"sha384"},{"type":"hash","name":"sha512"},{"type":"hash","name":"md4"},{"type":"hash","name":"xor"},{"type":"hash","name":"xorpair"},{"type":"hash","name":"parity"},{"type":"hash","name":"entropy"},{"type":"hash","name":"hamdist"},{"type":"hash","name":"pcprint"},{"type":"hash","name":"mod255"},{"type":"hash","name":"xxhash"},{"type":"hash","name":"adler32"},{"type":"hash","name":"luhn"},{"type":"hash","name":"ssdeep"},{"type":"hash","name":"crc8smbus"},{"type":"hash","name":"crc15can"},{"type":"hash","name":"crc16"},{"type":"hash","name":"crc16hdlc"},{"type":"hash","name":"crc16usb"},{"type":"hash","name":"crc16citt"},{"type":"hash","name":"crc24"},{"type":"hash","name":"crc32"},{"type":"hash","name":"crc32c"},{"type":"hash","name":"crc32ecma267"},{"type":"hash","name":"crc32bzip2"},{"type":"hash","name":"crc32d"},{"type":"hash","name":"crc32mpeg2"},{"type":"hash","name":"crc32posix"},{"type":"hash","name":"crc32q"},{"type":"hash","name":"crc32jamcrc"},{"type":"hash","name":"crc32xfer"},{"type":"hash","name":"crc64"},{"type":"hash","name":"crc64ecma"},{"type":"hash","name":"crc64we"},{"type":"hash","name":"crc64xz"},{"type":"hash","name":"crc64iso"},{"type":"hash","name":"fletcher8"},{"type":"hash","name":"fletcher16"},{"type":"hash","name":"fletcher32"},{"type":"hash","name":"fletcher64"},{"type":"hash","name":"elf"}]
[{"name":"add","type":"hash","name":"add","desc":"Add checksum used by Tar (sum all bytes into ut32)","author":"pancake","license":"MIT"},{"name":"aes-ecb","type":"crypto","name":"aes-ecb","desc":"Rijndael block cipher with Electronic Code Book mode","author":"pancake","license":"MIT"},{"name":"aes-cbc","type":"crypto","name":"aes-cbc","desc":"Rijndael block cipher with Cipher Block Chaining mode","author":"pancake","license":"LGPL-3.0-only"},{"name":"aes-wrap","type":"crypto","name":"aes-wrap","desc":"Rijndael block cipher with Key Wrap Algorithm (RFC 3394)","author":"Sylvain Pelissier","license":"LGPL-3.0-only"},{"name":"base64","type":"crypto","name":"base64","desc":"Binary to text encoding scheme using 64 ascii characters","author":"rakholiyajenish.07","license":"LGPL-3.0-only"},{"name":"base91","type":"base","name":"base91","desc":"Binary to text encoding scheme using 91 ascii characters","author":"rakholiyajenish.07","license":"MIT"},{"name":"bech32","type":"base","name":"bech32","author":"W0nda","license":"BSD-3-Clause"},{"name":"blowfish","type":"crypto","name":"blowfish","desc":"Bruce Schneier's symetric-key block cipher","author":"pancake","license":"LGPL-3.0-only"},{"name":"arabic_iso","type":"charset","name":"arabic_iso","desc":"arabic ISO stub","license":"MIT"},{"name":"arabic_windows","type":"charset","name":"arabic_windows","desc":"arabic Windows stub","license":"MIT"},{"name":"ascii","type":"charset","name":"ascii","desc":"ASCII character set encoding/decoding","license":"MIT"},{"name":"ascii_ansi","type":"charset","name":"ascii_ansi","desc":"ASCII ANSI stub","license":"MIT"},{"name":"ascii_oem","type":"charset","name":"ascii_oem","desc":"ASCII OEM stub","license":"MIT"},{"name":"big5","type":"charset","name":"big5","desc":"Big5 stub","license":"MIT"},{"name":"cyrillic_iso","type":"charset","name":"cyrillic_iso","desc":"Cyrillic ISO stub","license":"MIT"},{"name":"cyrillic_windows","type":"charset","name":"cyrillic_windows","desc":"Windows-1251 (partial)","license":"MIT"},{"name":"ebcdic37","type":"charset","name":"ebcdic37","desc":"EBCDIC CP37 charset","license":"MIT"},{"name":"greek_iso","type":"charset","name":"greek_iso","desc":"Greek ISO stub","license":"MIT"},{"name":"greek_windows","type":"charset","name":"greek_windows","desc":"Windows-1253 (partial)","license":"MIT"},{"name":"hebrew_iso","type":"charset","name":"hebrew_iso","desc":"Hebrew ISO stub","license":"MIT"},{"name":"hebrew_windows","type":"charset","name":"hebrew_windows","desc":"Hebrew Windows stub","license":"MIT"},{"name":"hiragana","type":"charset","name":"hiragana","desc":"Hiragana stub","license":"MIT"},{"name":"iso8859_1","type":"charset","name":"iso8859_1","desc":"ISO-8859-1 charset","license":"MIT"},{"name":"iso_646","type":"charset","name":"iso_646","desc":"ISO 646 (IRV)","license":"MIT"},{"name":"jis7","type":"charset","name":"jis7","desc":"JIS 7-bit Roman (ASCII-like)","license":"MIT"},{"name":"katakana","type":"charset","name":"katakana","desc":"Katakana mapping (legacy-compatible)","license":"MIT"},{"name":"macintosh","type":"charset","name":"macintosh","desc":"Macintosh Roman (partial)","license":"MIT"},{"name":"pokemon","type":"charset","name":"pokemon","desc":"Transcode from/to Pokémon charset used in Gen 1 games","license":"MIT"},{"name":"pokered","type":"charset","name":"pokered","desc":"Pokemon Red charset","license":"MIT"},{"name":"cps2","type":"crypto","name":"cps2","desc":"Capcom Play System 2","author":"pof,esanfelix","license":"LGPL-3.0-only"},{"name":"des-ecb","type":"crypto","name":"des-ecb","desc":"DES with with Electronic Code Book mode","author":"deroad","license":"LGPL-3.0-only"},{"name":"ed25519","type":"sign","name":"ed25519","desc":"Elliptic curve pubkey cryptographic algorithm used for signing and verification","author":"Sylvain Pelissier","license":"Zlib"},{"name":"entropy","type":"hash","name":"entropy","desc":"Shannon entropy","author":"pancake","license":"MIT"},{"name":"md5","type":"hash","name":"md5","desc":"MD5 hash","author":"pancake","license":"MIT"},{"name":"null","type":"hash","name":"null","desc":"mutate nothing","author":"pancake","license":"MIT"},{"name":"punycode","type":"charset","name":"punycode","desc":"Unicoded represented in plain ascii","author":"pancake","license":"LGPL-3.0-only"},{"name":"rc2","type":"crypto","name":"rc2","desc":"Ron Rivest's Code symmetric key encryption also known as ARC2","author":"pancake","license":"LGPL-3.0-only"},{"name":"rc4","type":"crypto","name":"rc4","desc":"Rivest Cipher 4","author":"pancake","license":"LGPL-3.0-only"},{"name":"rc6","type":"crypto","name":"rc6","desc":"Rivest's Cipher 6","author":"pancake","license":"LGPL-3.0-only"},{"name":"rol","type":"crypto","name":"rol","desc":"Rotate Left N bits","author":"pancake","license":"LGPL-3.0-only"},{"name":"ror","type":"crypto","name":"ror","desc":"Rotate Right N bits","author":"pancake","license":"LGPL-3.0-only"},{"name":"rot","type":"crypto","name":"rot","desc":"Rotate Encryption","author":"pancake","license":"MIT"},{"name":"serpent-ecb","type":"crypto","name":"serpent-ecb","desc":"Serpent block cipher with Electronic Code Book mode","author":"pancake","license":"LGPL-3.0-only"},{"name":"sha1","type":"hash","name":"sha1","desc":"SHA1 hash","author":"pancake","license":"MIT"},{"name":"sha256","type":"hash","name":"sha256","desc":"SHA256 hash","author":"pancake","license":"MIT"},{"name":"sha384","type":"hash","name":"sha384","desc":"SHA384 hash","author":"pancake","license":"MIT"},{"name":"sha512","type":"hash","name":"sha512","desc":"SHA512 hash","author":"pancake","license":"MIT"},{"name":"sip","type":"hash","name":"sip","desc":"SipHash-2-4","author":"pancake","license":"MIT"},{"name":"sm4-ecb","type":"crypto","name":"sm4-ecb","desc":"ShāngMì4 block cipher with Electronic Code Book mode","author":"Sylvain Pelissier","license":"LGPL-3.0-only"},{"name":"strhash","type":"hash","name":"strhash","desc":"String hash using a modified DJB2 xor","author":"pancake","license":"MIT"},{"name":"xor","type":"crypto","name":"xor","desc":"Byte level Exclusive Or","author":"pancake","license":"MIT"},{"type":"hash","name":"md5"},{"type":"hash","name":"sha1"},{"type":"hash","name":"sha256"},{"type":"hash","name":"sha384"},{"type":"hash","name":"sha512"},{"type":"hash","name":"md4"},{"type":"hash","name":"xor"},{"type":"hash","name":"xorpair"},{"type":"hash","name":"parity"},{"type":"hash","name":"entropy"},{"type":"hash","name":"hamdist"},{"type":"hash","name":"pcprint"},{"type":"hash","name":"mod255"},{"type":"hash","name":"xxhash"},{"type":"hash","name":"adler32"},{"type":"hash","name":"luhn"},{"type":"hash","name":"ssdeep"},{"type":"hash","name":"crc8smbus"},{"type":"hash","name":"crc15can"},{"type":"hash","name":"crc16"},{"type":"hash","name":"crc16hdlc"},{"type":"hash","name":"crc16usb"},{"type":"hash","name":"crc16citt"},{"type":"hash","name":"crc24"},{"type":"hash","name":"crc32"},{"type":"hash","name":"crc32c"},{"type":"hash","name":"crc32ecma267"},{"type":"hash","name":"crc32bzip2"},{"type":"hash","name":"crc32d"},{"type":"hash","name":"crc32mpeg2"},{"type":"hash","name":"crc32posix"},{"type":"hash","name":"crc32q"},{"type":"hash","name":"crc32jamcrc"},{"type":"hash","name":"crc32xfer"},{"type":"hash","name":"crc64"},{"type":"hash","name":"crc64ecma"},{"type":"hash","name":"crc64we"},{"type":"hash","name":"crc64xz"},{"type":"hash","name":"crc64iso"},{"type":"hash","name":"fletcher8"},{"type":"hash","name":"fletcher16"},{"type":"hash","name":"fletcher32"},{"type":"hash","name":"fletcher64"},{"type":"hash","name":"elf"}]
EOF
RUN
2 changes: 2 additions & 0 deletions test/db/tools/rahash2
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,8 @@ cryp rot Rotate Encryption
cryp serpent-ecb Serpent block cipher with Electronic Code Book mode
hash sha1 SHA1 hash
hash sha256 SHA256 hash
hash sha384 SHA384 hash
hash sha512 SHA512 hash
hash sip SipHash-2-4
cryp sm4-ecb ShāngMì4 block cipher with Electronic Code Book mode
hash strhash String hash using a modified DJB2 xor
Expand Down
Loading