Refactored 134 to 13500. Added esalt struct
[hashcat.git] / src / shared.c
index dfe9e71..84196f8 100644 (file)
@@ -5696,7 +5696,6 @@ char *strhashtype (const uint hash_mode)
     case   131: return ((char *) HT_00131); break;
     case   132: return ((char *) HT_00132); break;
     case   133: return ((char *) HT_00133); break;
-    case   134: return ((char *) HT_00134); break;
     case   140: return ((char *) HT_00140); break;
     case   141: return ((char *) HT_00141); break;
     case   150: return ((char *) HT_00150); break;
@@ -5854,6 +5853,7 @@ char *strhashtype (const uint hash_mode)
     case 13200: return ((char *) HT_13200); break;
     case 13300: return ((char *) HT_13300); break;
     case 13400: return ((char *) HT_13400); break;
+    case 13500: return ((char *) HT_13500); break;
   }
 
   return ((char *) "Unknown");
@@ -11760,16 +11760,16 @@ int pstoken_parse_hash (char *input_buf, uint input_len, hash_t *hash_buf)
 {
   if (data.opts_type & OPTS_TYPE_ST_HEX)
   {
-    if ((input_len < DISPLAY_LEN_MIN_134) || (input_len > DISPLAY_LEN_MAX_134)) return (PARSER_GLOBAL_LENGTH);
+    if ((input_len < DISPLAY_LEN_MIN_13500) || (input_len > DISPLAY_LEN_MAX_13500)) return (PARSER_GLOBAL_LENGTH);
   }
   else
   {
-    if ((input_len < DISPLAY_LEN_MIN_134) || (input_len > DISPLAY_LEN_MAX_134)) return (PARSER_GLOBAL_LENGTH);
+    if ((input_len < DISPLAY_LEN_MIN_13500) || (input_len > DISPLAY_LEN_MAX_13500)) return (PARSER_GLOBAL_LENGTH);
   }
 
   u32 *digest = (u32 *) hash_buf->digest;
-
   salt_t *salt = hash_buf->salt;
+  pstoken_t *pstoken = (pstoken_t *) hash_buf->esalt;
 
   digest[0] = hex_to_u32 ((const u8 *) &input_buf[ 0]);
   digest[1] = hex_to_u32 ((const u8 *) &input_buf[ 8]);
@@ -11789,13 +11789,13 @@ int pstoken_parse_hash (char *input_buf, uint input_len, hash_t *hash_buf)
 
   char *salt_buf = input_buf + 40 + 1;
 
-  char *salt_buf_ptr = (char *) salt->salt_buf;
-
-  salt_len = parse_and_store_salt (salt_buf_ptr, salt_buf, salt_len);
-
   if (salt_len == UINT_MAX) return (PARSER_SALT_LENGTH);
 
   salt->salt_len = salt_len;
+  pstoken->salt_len = salt_len;
+
+  memcpy(salt->salt_buf, salt_buf, 16);
+  memcpy(pstoken->salt_buf, salt_buf, salt_len);
 
   return (PARSER_OK);
 }