hash(file1, file) <> hash(file2, file1)
Есть ли вероятность что если два одинаковых файла имеют отличия то контрольные хеш суммы будут одинаковые или иметь отличие в 1 символ ?
Может ли вирус во время вычисления хеш сумм подменять значения хеша ?
Меня интересует насколько быстро будет "взломан" пароль "My_sUper passw0rd", хешированный с помощью одного из алгоритмов доступных в PHP (sha512, ripemd320, whirlpool, tiger192,4 и haval256,5)
$ unzip -l -v opengl.zip | head
Archive: opengl.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
13049256 Stored 13049256 0% 2005-05-18 17:19 a814c96e OpenGL/AdbeRdr602_rus.exe
42 Stored 42 0% 2004-05-04 03:00 9dd0d91b OpenGL/Autorun.inf
0 Stored 0 0% 2006-02-03 18:02 00000000 OpenGL/Catalog/
0 Stored 0 0% 2006-02-03 18:04 00000000 OpenGL/Catalog/1070801/
4242 Stored 4242 0% 2005-12-07 16:05 c1c0e4a3 OpenGL/Catalog/1070801/index.htm
162399 Stored 162399 0% 2005-12-07 16:09 fcb2cedb OpenGL/Catalog/search.html
$ hashcat --help
hashcat - advanced password recovery
Usage: hashcat [options]... hash|hashfile|hccapxfile [dictionary|mask|directory]...
- [ Options ] -
Options Short / Long | Type | Description | Example
================================+======+======================================================+=======================
-m, --hash-type | Num | Hash-type, see references below | -m 1000
scala> java.util.UUID.randomUUID().toString().replace("-","")
val res2: String = 2cf05b81a5694a32ae39c6d3c8d01089
scala> java.util.UUID.randomUUID().toString().replace("-","")
val res3: String = 0181ca262a2e40e8928c74d234ef71ae
scala> java.util.UUID.randomUUID().toString().replace("-","")
val res4: String = 90eb83a8216748c5bf6d475d09be41d1
scala> java.util.UUID.randomUUID().toString().replace("-","")
val res5: String = 94eab5fd1f174f08998bd9e4a12aee9a
int hashCodeRange(int from, int to) {
final Object[] es = elementData;
if (to > es.length) {
throw new ConcurrentModificationException();
}
int hashCode = 1;
for (int i = from; i < to; i++) {
Object e = es[i];
hashCode = 31 * hashCode + (e == null ? 0 : e.hashCode());
}
return hashCode;
}
Или какой-то вариант потеряется?