Думаю многим не нужно объяснять, что такое MD5. Старый,
заломанный, но самый популярный алгоритм хеширования
More Info: http://ru.wikipedia.org/wiki/MD5
Перейдем сразу к делу.
Многие знают, что существует инклуд от небезызвестного Y_Less с аналогичными функциями, но название ПЛАГИН говорит само за себя
после проведенных мной спидтестов, я немного ужаснулся "тормознутости" инклуда от Y_Less
Тесты:
Код теста:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include MD5_Y_LESS #include MD5 #define MAX_HASHES 1000000 #define START_STRING "The quick brown fox jumps over the main() { new g = GetTickCount(), h[34]; for ( new i; i != MAX_HASHES; i++) { MD5(START_STRING,h); } printf( "Hash (MD5 Plugin): %s, Time: %d" ,h, g = GetTickCount(); for ( new i; i != MAX_HASHES; i++) { h = MD5_Hash(START_STRING); } printf( "Hash (MD5 Inc): %s, Time: %d" ,h, } |
Код, протестированный на Linux CentOS 5
Код:
[23:02:23] Hash (MD5 Plugin): 9e107d9d372bb6826bd81d3542a419d6,
Time: 7351
[23:03:30] Hash (MD5 Inc): 9E107D9D372BB6826BD81D3542A419D6,
Time: 67125
Код:
[23:07:54] Hash (MD5 Plugin): 9e107d9d372bb6826bd81d3542a419d6,
Time: 6952
[23:09:00] Hash (MD5 Inc): 9E107D9D372BB6826BD81D3542A419D6,
Time: 65117
Код:
[01:00:16] Hash (MD5 Plugin): 9e107d9d372bb6826bd81d3542a419d6,
Time: 4351
[01:01:18] Hash (MD5 Inc): 9E107D9D372BB6826BD81D3542A419D6,
Time: 62581
Код:
[01:03:41] Hash (MD5 Plugin): 9e107d9d372bb6826bd81d3542a419d6,
Time: 4837
[01:04:46] Hash (MD5 Inc): 9E107D9D372BB6826BD81D3542A419D6,
Time: 64506