mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-17 13:31:58 +00:00
Merge pull request #1268 from roycewilliams/master
tidy changes.txt and name normalizations
This commit is contained in:
commit
44110370d1
@ -12,7 +12,7 @@
|
|||||||
#define COMPARE_S "inc_comp_single.cl"
|
#define COMPARE_S "inc_comp_single.cl"
|
||||||
#define COMPARE_M "inc_comp_multi.cl"
|
#define COMPARE_M "inc_comp_multi.cl"
|
||||||
|
|
||||||
// breaks if used with u8a on AMDGPU-Pro
|
// breaks if used with u8a on AMDGPU-PRO
|
||||||
__constant u8 lotus64_table[64] =
|
__constant u8 lotus64_table[64] =
|
||||||
{
|
{
|
||||||
'0', '1', '2', '3', '4', '5', '6', '7',
|
'0', '1', '2', '3', '4', '5', '6', '7',
|
||||||
|
@ -4,10 +4,10 @@
|
|||||||
## Algorithms
|
## Algorithms
|
||||||
##
|
##
|
||||||
|
|
||||||
- Added hash-mode 600 = Blake2-512
|
- Added hash-mode 600 = BLAKE2-512
|
||||||
- Added hash-mode 15200 = Blockchain, My Wallet, V2
|
- Added hash-mode 15200 = Blockchain, My Wallet, V2
|
||||||
- Added hash-mode 15300 = DPAPI masterkey file v1 and v2
|
- Added hash-mode 15300 = DPAPI masterkey file v1 and v2
|
||||||
- Added hash-mode 15400 = Chacha20
|
- Added hash-mode 15400 = ChaCha20
|
||||||
- Added hash-mode 15600 = Ethereum Wallet, PBKDF2-HMAC-SHA256
|
- Added hash-mode 15600 = Ethereum Wallet, PBKDF2-HMAC-SHA256
|
||||||
- Added hash-mode 15700 = Ethereum Wallet, PBKDF2-SCRYPT
|
- Added hash-mode 15700 = Ethereum Wallet, PBKDF2-SCRYPT
|
||||||
|
|
||||||
@ -15,42 +15,42 @@
|
|||||||
## Features
|
## Features
|
||||||
##
|
##
|
||||||
|
|
||||||
- Wordlist encoding: Support added for internal convert from and to user-defined encoding during runtime
|
- Wordlist encoding: Support added for internal conversion between user-defined encodings during runtime
|
||||||
- Wordlist encoding: Added parameters --encoding-from and --encoding-to to configure wordlist encoding handling
|
- Wordlist encoding: Added parameters --encoding-from and --encoding-to to configure wordlist encoding handling
|
||||||
- Rules: Support added for rule 'eX'
|
- Rules: Support added for rule 'eX'
|
||||||
- Rules: Support added for position 'p' in host mode (using -j or -k)
|
- Rules: Support added for position 'p' (Nth instance of a character) in host mode (using -j or -k)
|
||||||
- 7-Zip cracking: increased max. data length to 320k and removed AES padding attack to avoid false negatives
|
- 7-Zip cracking: increased max. data length to 320k and removed AES padding attack to avoid false negatives
|
||||||
- Rules: Support added for rejection rule '_N' in host mode
|
- Rules: Support added for rejection rule '_N' (reject plains of length not equal to N) in host mode
|
||||||
- Dictionary cache: Show time spent for dictionary cache building on startup
|
- Dictionary cache: Show time spent on dictionary cache building at startup
|
||||||
|
|
||||||
##
|
##
|
||||||
## Workarounds
|
## Workarounds
|
||||||
##
|
##
|
||||||
|
|
||||||
- Workaround added for NVidia NVML library: If libnvidia-ml.so couldn't be load try again using libnvidia-ml.so.1
|
- Workaround added for NVIDIA NVML library: If libnvidia-ml.so couldn't be loaded, try again using libnvidia-ml.so.1
|
||||||
|
|
||||||
##
|
##
|
||||||
## Improvements
|
## Improvements
|
||||||
##
|
##
|
||||||
|
|
||||||
- WPA cracking: Improved nonce-error-corrections mode to fix corrupt nonce generated on Big-Endian devices
|
- WPA cracking: Improved nonce-error-corrections mode to fix corrupt nonces generated on big-endian devices
|
||||||
|
|
||||||
##
|
##
|
||||||
## Bugs
|
## Bugs
|
||||||
##
|
##
|
||||||
|
|
||||||
- Fixed a missing type specifier in a function declaration of the RACF kernel
|
- Fixed a missing type specifier in a function declaration of the RACF kernel
|
||||||
- Fixed a condition that caused a hybrid attack using a maskfile to not select all wordlists from a wordlist folder
|
- Fixed a condition that caused hybrid attacks using a maskfile to not select all wordlists from a wordlist folder
|
||||||
- Fixed a memory leak that is present when a user is periodically printing hashcat status (using --status-timer)
|
- Fixed a memory leak that was present when a user periodically prints hashcat status (using --status-timer)
|
||||||
|
|
||||||
##
|
##
|
||||||
## Technical
|
## Technical
|
||||||
##
|
##
|
||||||
|
|
||||||
- Building: On binary release package, link libiconv static for windows binaries
|
- Building: In the binary release packages, link libiconv static for Windows binaries
|
||||||
- Dictstat: Structure for dictstat file changed as it has to include --encoding-from and --encoding-to parameter now
|
- Dictstat: Structure for dictstat file changed to include --encoding-from and --encoding-to parameters
|
||||||
- OpenCL Runtime: Updated AMDGPU-Pro driver version check, do warn if version 17.10 is detected which is known to be broken
|
- OpenCL Runtime: Updated AMDGPU-PRO driver version check, warn if version 17.10 (known to be broken) is detected
|
||||||
- WPA cracking: Reduced --nonce-error-corrections default from 16 to 8 to compensate speed drop caused due to Big-Endian fixes
|
- WPA cracking: Reduced --nonce-error-corrections default from 16 to 8 to compensate for speed drop caused by big-endian fixes
|
||||||
|
|
||||||
* changes v3.40 -> 3.5.0:
|
* changes v3.40 -> 3.5.0:
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ hashcat v3.5.0
|
|||||||
==============
|
==============
|
||||||
|
|
||||||
AMD GPUs on Windows require "AMD Radeon Software Crimson Edition" (15.12 or later)
|
AMD GPUs on Windows require "AMD Radeon Software Crimson Edition" (15.12 or later)
|
||||||
AMD GPUs on Linux require "AMDGPU-Pro Driver" (16.40 or later)
|
AMD GPUs on Linux require "AMDGPU-PRO Driver" (16.40 or later)
|
||||||
Intel CPUs require "OpenCL Runtime for Intel Core and Intel Xeon Processors" (16.1.1 or later)
|
Intel CPUs require "OpenCL Runtime for Intel Core and Intel Xeon Processors" (16.1.1 or later)
|
||||||
Intel GPUs on Windows require "OpenCL Driver for Intel Iris and Intel HD Graphics"
|
Intel GPUs on Windows require "OpenCL Driver for Intel Iris and Intel HD Graphics"
|
||||||
Intel GPUs on Linux require "OpenCL 2.0 GPU Driver Package for Linux" (2.0 or later)
|
Intel GPUs on Linux require "OpenCL 2.0 GPU Driver Package for Linux" (2.0 or later)
|
||||||
@ -46,14 +46,14 @@ NVIDIA GPUs require "NVIDIA Driver" (367.x or later)
|
|||||||
- SHA-384
|
- SHA-384
|
||||||
- SHA-512
|
- SHA-512
|
||||||
- SHA-3 (Keccak)
|
- SHA-3 (Keccak)
|
||||||
- Blake2b-512
|
- BLAKE2b-512
|
||||||
- SipHash
|
- SipHash
|
||||||
- Skip32
|
- Skip32
|
||||||
- RIPEMD-160
|
- RIPEMD-160
|
||||||
- Whirlpool
|
- Whirlpool
|
||||||
- DES (PT = $salt, key = $pass)
|
- DES (PT = $salt, key = $pass)
|
||||||
- 3DES (PT = $salt, key = $pass)
|
- 3DES (PT = $salt, key = $pass)
|
||||||
- Chacha20
|
- ChaCha20
|
||||||
- GOST R 34.11-94
|
- GOST R 34.11-94
|
||||||
- GOST R 34.11-2012 (Streebog) 256-bit
|
- GOST R 34.11-2012 (Streebog) 256-bit
|
||||||
- GOST R 34.11-2012 (Streebog) 512-bit
|
- GOST R 34.11-2012 (Streebog) 512-bit
|
||||||
|
@ -95,7 +95,7 @@ static const char HT_00300[] = "MySQL4.1/MySQL5";
|
|||||||
static const char HT_00400[] = "phpass, WordPress (MD5), phpBB3 (MD5), Joomla (MD5)";
|
static const char HT_00400[] = "phpass, WordPress (MD5), phpBB3 (MD5), Joomla (MD5)";
|
||||||
static const char HT_00500[] = "md5crypt, MD5 (Unix), Cisco-IOS $1$ (MD5)";
|
static const char HT_00500[] = "md5crypt, MD5 (Unix), Cisco-IOS $1$ (MD5)";
|
||||||
static const char HT_00501[] = "Juniper IVE";
|
static const char HT_00501[] = "Juniper IVE";
|
||||||
static const char HT_00600[] = "Blake2-512";
|
static const char HT_00600[] = "BLAKE2-512";
|
||||||
static const char HT_00900[] = "MD4";
|
static const char HT_00900[] = "MD4";
|
||||||
static const char HT_01000[] = "NTLM";
|
static const char HT_01000[] = "NTLM";
|
||||||
static const char HT_01100[] = "Domain Cached Credentials (DCC), MS Cache";
|
static const char HT_01100[] = "Domain Cached Credentials (DCC), MS Cache";
|
||||||
@ -215,7 +215,7 @@ static const char HT_12000[] = "PBKDF2-HMAC-SHA1";
|
|||||||
static const char HT_12100[] = "PBKDF2-HMAC-SHA512";
|
static const char HT_12100[] = "PBKDF2-HMAC-SHA512";
|
||||||
static const char HT_12200[] = "eCryptfs";
|
static const char HT_12200[] = "eCryptfs";
|
||||||
static const char HT_12300[] = "Oracle T: Type (Oracle 12+)";
|
static const char HT_12300[] = "Oracle T: Type (Oracle 12+)";
|
||||||
static const char HT_12400[] = "BSDiCrypt, Extended DES";
|
static const char HT_12400[] = "BSDi Crypt, Extended DES";
|
||||||
static const char HT_12500[] = "RAR3-hp";
|
static const char HT_12500[] = "RAR3-hp";
|
||||||
static const char HT_12600[] = "ColdFusion 10+";
|
static const char HT_12600[] = "ColdFusion 10+";
|
||||||
static const char HT_12700[] = "Blockchain, My Wallet";
|
static const char HT_12700[] = "Blockchain, My Wallet";
|
||||||
@ -241,7 +241,7 @@ static const char HT_15000[] = "FileZilla Server >= 0.9.55";
|
|||||||
static const char HT_15100[] = "Juniper/NetBSD sha1crypt";
|
static const char HT_15100[] = "Juniper/NetBSD sha1crypt";
|
||||||
static const char HT_15200[] = "Blockchain, My Wallet, V2";
|
static const char HT_15200[] = "Blockchain, My Wallet, V2";
|
||||||
static const char HT_15300[] = "DPAPI masterkey file v1 and v2";
|
static const char HT_15300[] = "DPAPI masterkey file v1 and v2";
|
||||||
static const char HT_15400[] = "Chacha20";
|
static const char HT_15400[] = "ChaCha20";
|
||||||
static const char HT_15600[] = "Ethereum Wallet, PBKDF2-HMAC-SHA256";
|
static const char HT_15600[] = "Ethereum Wallet, PBKDF2-HMAC-SHA256";
|
||||||
static const char HT_15700[] = "Ethereum Wallet, SCRYPT";
|
static const char HT_15700[] = "Ethereum Wallet, SCRYPT";
|
||||||
static const char HT_99999[] = "Plaintext";
|
static const char HT_99999[] = "Plaintext";
|
||||||
@ -384,7 +384,7 @@ static const char SIGNATURE_FORTIGATE[] = "AK1";
|
|||||||
static const char SIGNATURE_ATLASSIAN[] = "{PKCS5S2}";
|
static const char SIGNATURE_ATLASSIAN[] = "{PKCS5S2}";
|
||||||
static const char SIGNATURE_NETBSD_SHA1CRYPT[] = "$sha1$";
|
static const char SIGNATURE_NETBSD_SHA1CRYPT[] = "$sha1$";
|
||||||
static const char SIGNATURE_BLAKE2B[] = "$BLAKE2$";
|
static const char SIGNATURE_BLAKE2B[] = "$BLAKE2$";
|
||||||
static const char SIGNATURE_CHACHA20[] = "$Chacha20$";
|
static const char SIGNATURE_CHACHA20[] = "$ChaCha20$";
|
||||||
static const char SIGNATURE_ETHEREUM_PBKDF2[] = "$ethereum$p";
|
static const char SIGNATURE_ETHEREUM_PBKDF2[] = "$ethereum$p";
|
||||||
static const char SIGNATURE_ETHEREUM_SCRYPT[] = "$ethereum$s";
|
static const char SIGNATURE_ETHEREUM_SCRYPT[] = "$ethereum$s";
|
||||||
|
|
||||||
@ -5457,7 +5457,7 @@ int blake2b_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UN
|
|||||||
digest[6] = hex_to_u64 ((const u8 *) &input_hash_buf[ 96]);
|
digest[6] = hex_to_u64 ((const u8 *) &input_hash_buf[ 96]);
|
||||||
digest[7] = hex_to_u64 ((const u8 *) &input_hash_buf[112]);
|
digest[7] = hex_to_u64 ((const u8 *) &input_hash_buf[112]);
|
||||||
|
|
||||||
// Initialize Blake2 Params and State
|
// Initialize BLAKE2 Params and State
|
||||||
|
|
||||||
blake2_t *S = (blake2_t *) hash_buf->esalt;
|
blake2_t *S = (blake2_t *) hash_buf->esalt;
|
||||||
|
|
||||||
|
16
src/opencl.c
16
src/opencl.c
@ -73,7 +73,7 @@ static int ocl_check_dri (MAYBE_UNUSED hashcat_ctx_t *hashcat_ctx)
|
|||||||
|
|
||||||
if (vendor != 4098) return 0;
|
if (vendor != 4098) return 0;
|
||||||
|
|
||||||
// Now the problem is only with AMDGPU-Pro, not with oldschool AMD driver
|
// Now the problem is only with AMDGPU-PRO, not with oldschool AMD driver
|
||||||
|
|
||||||
char buf[HCBUFSIZ_TINY];
|
char buf[HCBUFSIZ_TINY];
|
||||||
|
|
||||||
@ -415,7 +415,7 @@ int ocl_init (hashcat_ctx_t *hashcat_ctx)
|
|||||||
|
|
||||||
#if defined (__linux__)
|
#if defined (__linux__)
|
||||||
event_log_warning (hashcat_ctx, "* AMD GPUs on Linux require this runtime and/or driver:");
|
event_log_warning (hashcat_ctx, "* AMD GPUs on Linux require this runtime and/or driver:");
|
||||||
event_log_warning (hashcat_ctx, " \"AMDGPU-Pro Driver\" (16.40 or later)");
|
event_log_warning (hashcat_ctx, " \"AMDGPU-PRO Driver\" (16.40 or later)");
|
||||||
#elif defined (_WIN)
|
#elif defined (_WIN)
|
||||||
event_log_warning (hashcat_ctx, "* AMD GPUs on Windows require this runtime and/or driver:");
|
event_log_warning (hashcat_ctx, "* AMD GPUs on Windows require this runtime and/or driver:");
|
||||||
event_log_warning (hashcat_ctx, " \"AMD Radeon Software Crimson Edition\" (15.12 or later)");
|
event_log_warning (hashcat_ctx, " \"AMD Radeon Software Crimson Edition\" (15.12 or later)");
|
||||||
@ -2181,7 +2181,7 @@ int opencl_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
|||||||
if (rc_ocl_init == -1) return -1;
|
if (rc_ocl_init == -1) return -1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Some permission pre-check, because AMDGPU-Pro Driver crashes if the user has no permission to do this
|
* Some permission pre-check, because AMDGPU-PRO Driver crashes if the user has no permission to do this
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const int rc_ocl_check = ocl_check_dri (hashcat_ctx);
|
const int rc_ocl_check = ocl_check_dri (hashcat_ctx);
|
||||||
@ -2265,7 +2265,7 @@ int opencl_ctx_init (hashcat_ctx_t *hashcat_ctx)
|
|||||||
|
|
||||||
#if defined (__linux__)
|
#if defined (__linux__)
|
||||||
event_log_warning (hashcat_ctx, "* AMD GPUs on Linux require this runtime and/or driver:");
|
event_log_warning (hashcat_ctx, "* AMD GPUs on Linux require this runtime and/or driver:");
|
||||||
event_log_warning (hashcat_ctx, " \"AMDGPU-Pro Driver\" (16.40 or later)");
|
event_log_warning (hashcat_ctx, " \"AMDGPU-PRO Driver\" (16.40 or later)");
|
||||||
#elif defined (_WIN)
|
#elif defined (_WIN)
|
||||||
event_log_warning (hashcat_ctx, "* AMD GPUs on Windows require this runtime and/or driver:");
|
event_log_warning (hashcat_ctx, "* AMD GPUs on Windows require this runtime and/or driver:");
|
||||||
event_log_warning (hashcat_ctx, " \"AMD Radeon Software Crimson Edition\" (15.12 or later)");
|
event_log_warning (hashcat_ctx, " \"AMD Radeon Software Crimson Edition\" (15.12 or later)");
|
||||||
@ -3104,13 +3104,13 @@ int opencl_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime)
|
|||||||
bool amd_warn = true;
|
bool amd_warn = true;
|
||||||
|
|
||||||
#if defined (__linux__)
|
#if defined (__linux__)
|
||||||
// AMDGPU-Pro Driver 16.40 and higher
|
// AMDGPU-PRO Driver 16.40 and higher
|
||||||
if (atoi (device_param->driver_version) >= 2117) amd_warn = false;
|
if (atoi (device_param->driver_version) >= 2117) amd_warn = false;
|
||||||
// AMDGPU-Pro Driver 16.50 is known to be broken
|
// AMDGPU-PRO Driver 16.50 is known to be broken
|
||||||
if (atoi (device_param->driver_version) == 2236) amd_warn = true;
|
if (atoi (device_param->driver_version) == 2236) amd_warn = true;
|
||||||
// AMDGPU-Pro Driver 16.60 is known to be broken
|
// AMDGPU-PRO Driver 16.60 is known to be broken
|
||||||
if (atoi (device_param->driver_version) == 2264) amd_warn = true;
|
if (atoi (device_param->driver_version) == 2264) amd_warn = true;
|
||||||
// AMDGPU-Pro Driver 17.10 is known to be broken
|
// AMDGPU-PRO Driver 17.10 is known to be broken
|
||||||
if (atoi (device_param->driver_version) == 2348) amd_warn = true;
|
if (atoi (device_param->driver_version) == 2348) amd_warn = true;
|
||||||
#elif defined (_WIN)
|
#elif defined (_WIN)
|
||||||
// AMD Radeon Software 14.9 and higher, should be updated to 15.12
|
// AMD Radeon Software 14.9 and higher, should be updated to 15.12
|
||||||
|
@ -125,7 +125,7 @@ static const char *USAGE_BIG[] =
|
|||||||
" 10800 | SHA-384 | Raw Hash",
|
" 10800 | SHA-384 | Raw Hash",
|
||||||
" 1700 | SHA-512 | Raw Hash",
|
" 1700 | SHA-512 | Raw Hash",
|
||||||
" 5000 | SHA-3 (Keccak) | Raw Hash",
|
" 5000 | SHA-3 (Keccak) | Raw Hash",
|
||||||
" 600 | Blake2b-512 | Raw Hash",
|
" 600 | BLAKE2b-512 | Raw Hash",
|
||||||
" 10100 | SipHash | Raw Hash",
|
" 10100 | SipHash | Raw Hash",
|
||||||
" 6000 | RIPEMD-160 | Raw Hash",
|
" 6000 | RIPEMD-160 | Raw Hash",
|
||||||
" 6100 | Whirlpool | Raw Hash",
|
" 6100 | Whirlpool | Raw Hash",
|
||||||
@ -172,7 +172,7 @@ static const char *USAGE_BIG[] =
|
|||||||
" 14000 | DES (PT = $salt, key = $pass) | Raw Cipher, Known-Plaintext attack",
|
" 14000 | DES (PT = $salt, key = $pass) | Raw Cipher, Known-Plaintext attack",
|
||||||
" 14100 | 3DES (PT = $salt, key = $pass) | Raw Cipher, Known-Plaintext attack",
|
" 14100 | 3DES (PT = $salt, key = $pass) | Raw Cipher, Known-Plaintext attack",
|
||||||
" 14900 | Skip32 (PT = $salt, key = $pass) | Raw Cipher, Known-Plaintext attack",
|
" 14900 | Skip32 (PT = $salt, key = $pass) | Raw Cipher, Known-Plaintext attack",
|
||||||
" 15400 | Chacha20 | Raw Cipher, Known-Plaintext attack",
|
" 15400 | ChaCha20 | Raw Cipher, Known-Plaintext attack",
|
||||||
" 400 | phpass | Generic KDF",
|
" 400 | phpass | Generic KDF",
|
||||||
" 8900 | scrypt | Generic KDF",
|
" 8900 | scrypt | Generic KDF",
|
||||||
" 11900 | PBKDF2-HMAC-MD5 | Generic KDF",
|
" 11900 | PBKDF2-HMAC-MD5 | Generic KDF",
|
||||||
@ -245,7 +245,7 @@ static const char *USAGE_BIG[] =
|
|||||||
" 15300 | DPAPI masterkey file v1 and v2 | Operating Systems",
|
" 15300 | DPAPI masterkey file v1 and v2 | Operating Systems",
|
||||||
" 12800 | MS-AzureSync PBKDF2-HMAC-SHA256 | Operating Systems",
|
" 12800 | MS-AzureSync PBKDF2-HMAC-SHA256 | Operating Systems",
|
||||||
" 1500 | descrypt, DES (Unix), Traditional DES | Operating Systems",
|
" 1500 | descrypt, DES (Unix), Traditional DES | Operating Systems",
|
||||||
" 12400 | BSDiCrypt, Extended DES | Operating Systems",
|
" 12400 | BSDi Crypt, Extended DES | Operating Systems",
|
||||||
" 500 | md5crypt, MD5 (Unix), Cisco-IOS $1$ (MD5) | Operating Systems",
|
" 500 | md5crypt, MD5 (Unix), Cisco-IOS $1$ (MD5) | Operating Systems",
|
||||||
" 3200 | bcrypt $2*$, Blowfish (Unix) | Operating Systems",
|
" 3200 | bcrypt $2*$, Blowfish (Unix) | Operating Systems",
|
||||||
" 7400 | sha256crypt $5$, SHA256 (Unix) | Operating Systems",
|
" 7400 | sha256crypt $5$, SHA256 (Unix) | Operating Systems",
|
||||||
|
@ -2117,7 +2117,7 @@ sub verify
|
|||||||
|
|
||||||
next unless (exists ($db->{$hash_in}) and (! defined ($db->{$hash_in})));
|
next unless (exists ($db->{$hash_in}) and (! defined ($db->{$hash_in})));
|
||||||
}
|
}
|
||||||
# BSDiCrypt, Extended DES
|
# BSDi Crypt, Extended DES
|
||||||
elsif ($mode == 12400)
|
elsif ($mode == 12400)
|
||||||
{
|
{
|
||||||
next unless (substr ($line, 0, 1) eq '_');
|
next unless (substr ($line, 0, 1) eq '_');
|
||||||
@ -8584,7 +8584,7 @@ END_CODE
|
|||||||
my $enc_offset = substr($enc, $offset, 8);
|
my $enc_offset = substr($enc, $offset, 8);
|
||||||
$hash_buf = $enc_offset;
|
$hash_buf = $enc_offset;
|
||||||
|
|
||||||
$tmp_hash = sprintf ("\$Chacha20\$\*%s\*%d\*%s\*%s\*%s", $counter, $offset, $iv, unpack("H*", substr($plaintext, $offset, 8)), unpack("H*", $enc_offset));
|
$tmp_hash = sprintf ("\$ChaCha20\$\*%s\*%d\*%s\*%s\*%s", $counter, $offset, $iv, unpack("H*", substr($plaintext, $offset, 8)), unpack("H*", $enc_offset));
|
||||||
}
|
}
|
||||||
elsif ($mode == 15600)
|
elsif ($mode == 15600)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user