From 5585bfe12d9ec48a7993f04fb0c87eaacb9436f1 Mon Sep 17 00:00:00 2001 From: MrZ_26 <1046101471@qq.com> Date: Wed, 28 Sep 2022 00:42:05 +0800 Subject: [PATCH] little optimization on hex2bin and bin2hex --- sha2.lua | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/sha2.lua b/sha2.lua index 201f52e..a56b1ae 100644 --- a/sha2.lua +++ b/sha2.lua @@ -4706,20 +4706,18 @@ end local hex_to_bin, bin_to_hex, bin_to_base64, base64_to_bin do + local function repl_hex2bin(hh) + return char(tonumber(hh, 16)) + end function hex_to_bin(hex_string) - return (gsub(hex_string, "%x%x", - function (hh) - return char(tonumber(hh, 16)) - end - )) + return (gsub(hex_string, "%x%x", repl_hex2bin)) end + local function repl_bin2hex(c) + return string_format("%02x", byte(c)) + end function bin_to_hex(binary_string) - return (gsub(binary_string, ".", - function (c) - return string_format("%02x", byte(c)) - end - )) + return (gsub(binary_string, ".", repl_bin2hex)) end local base64_symbols = {