Добрый день всем. Есть список ссылок на картинки, очень часто попадается одна и та же картинка на разных доменах, размер один, md5 хеш файла совпадает и тд, то есть картинки полностью идентичные. Как можно такие картинки отфильтровать? Нужно оставить только уникальные картинки.
осторожно! danger! ))))) Спойлер http://erotic-home.com/uploads/posts/2014-04/1397221687_010.jpg http://files.domsexa.com/foto/1/asrtnm_8.jpg
Довольно просто. Проверяем MD5 хеш каждой картинки и отсеиваем уникализацией одинаковые. Спойлер: Код для импорта Код: eyJwcmVzZXQiOiJVbmlxdWUgZGF0YSIsInZhbHVlIjp7InByZXNldCI6IlVuaXF1 ZSBkYXRhIiwicGFyc2VycyI6W1siTmV0OjpIVFRQIiwiZGVmYXVsdCIseyJ0eXBl Ijoib3ZlcnJpZGUiLCJpZCI6Imdvb2RDb2RlIiwidmFsdWUiOlsyMDBdfSx7InR5 cGUiOiJ1bmlxdWUiLCJyZXN1bHQiOiJtZDUiLCJ1bmlxdWVUeXBlIjoic3RyaW5n IiwidW5pcXVlR2xvYmFsIjp0cnVlfV1dLCJyZXN1bHRzRm9ybWF0IjoiJHF1ZXJ5 XFxuIiwicmVzdWx0c1NhdmVUbyI6ImZpbGUiLCJyZXN1bHRzRmlsZU5hbWUiOiIk ZGF0ZWZpbGUuZm9ybWF0KCkudHh0IiwiYWRkaXRpb25hbEZvcm1hdHMiOltdLCJy ZXN1bHRzVW5pcXVlIjoibm8iLCJxdWVyeUZvcm1hdCI6WyIkcXVlcnkiXSwidW5p cXVlUXVlcmllcyI6ZmFsc2UsInNhdmVGYWlsZWRRdWVyaWVzIjpmYWxzZSwiaXRl cmF0b3JPcHRpb25zIjp7Im9uQWxsTGV2ZWxzIjpmYWxzZSwicXVlcnlCdWlsZGVy c0FmdGVySXRlcmF0b3IiOmZhbHNlLCJxdWVyeUJ1aWxkZXJzT25BbGxMZXZlbHMi OmZhbHNlfSwicmVzdWx0c09wdGlvbnMiOnsib3ZlcndyaXRlIjpmYWxzZX0sImRv TG9nIjoibm8iLCJrZWVwVW5pcXVlIjoiTm8iLCJtb3JlT3B0aW9ucyI6dHJ1ZSwi cmVzdWx0c1ByZXBlbmQiOiIiLCJyZXN1bHRzQXBwZW5kIjoiIiwicXVlcnlCdWls ZGVycyI6W10sInJlc3VsdHNCdWlsZGVycyI6W3sic291cmNlIjpbMCwtMSwiWyUg dG9vbHMuanMubWQ1KGRhdGEpICVdIl0sInR5cGUiOiJyZWdleCIsInJlZ2V4Ijoi KC4rKSIsInJlZ2V4VHlwZSI6bnVsbCwidG8iOlsibWQ1Il19XSwiY29uZmlnT3Zl cnJpZGVzIjpbXSwicnVuVGFza09uQ29tcGxldGUiOm51bGwsInVzZVJlc3VsdHNG aWxlQXNRdWVyaWVzRmlsZSI6ZmFsc2UsInJ1blRhc2tPbkNvbXBsZXRlQ29uZmln IjoiZGVmYXVsdCIsInRvb2xzSlMiOiJmdW5jdGlvbiB1dGY4X2VuY29kZShzdHJf ZGF0YSkgeyBcbnN0cl9kYXRhID0gc3RyX2RhdGEucmVwbGFjZSgvXFxyXFxuL2cs XCJcXG5cIik7XG52YXIgdXRmdGV4dCA9IFwiXCI7XG5mb3IgKHZhciBuID0gMDsg biA8IHN0cl9kYXRhLmxlbmd0aDsgbisrKSB7XG52YXIgYyA9IHN0cl9kYXRhLmNo YXJDb2RlQXQobik7XG5pZiAoYyA8IDEyOCkge1xudXRmdGV4dCArPSBTdHJpbmcu ZnJvbUNoYXJDb2RlKGMpO1xufSBlbHNlIGlmKChjID4gMTI3KSAmJiAoYyA8IDIw NDgpKSB7XG51dGZ0ZXh0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoKGMgPj4gNikg fCAxOTIpO1xudXRmdGV4dCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKChjICYgNjMp IHwgMTI4KTtcbn0gZWxzZSB7XG51dGZ0ZXh0ICs9IFN0cmluZy5mcm9tQ2hhckNv ZGUoKGMgPj4gMTIpIHwgMjI0KTtcbnV0ZnRleHQgKz0gU3RyaW5nLmZyb21DaGFy Q29kZSgoKGMgPj4gNikgJiA2MykgfCAxMjgpO1xudXRmdGV4dCArPSBTdHJpbmcu ZnJvbUNoYXJDb2RlKChjICYgNjMpIHwgMTI4KTtcbn1cbn1cbnJldHVybiB1dGZ0 ZXh0O1xufVxuXG5cblxuXG5Ub29scy5wcm90b3R5cGUubWQ1ID0gZnVuY3Rpb24o c3RyKSB7XG52YXIgeGw7XG52YXIgcm90YXRlTGVmdCA9IGZ1bmN0aW9uKGxWYWx1 ZSwgaVNoaWZ0Qml0cykge1xucmV0dXJuIChsVmFsdWUgPDwgaVNoaWZ0Qml0cykg fCAobFZhbHVlID4+PiAoMzIgLSBpU2hpZnRCaXRzKSk7XG59O1xudmFyIGFkZFVu c2lnbmVkID0gZnVuY3Rpb24obFgsIGxZKSB7XG52YXIgbFg0LCBsWTQsIGxYOCwg bFk4LCBsUmVzdWx0O1xubFg4ID0gKGxYICYgMHg4MDAwMDAwMCk7XG5sWTggPSAo bFkgJiAweDgwMDAwMDAwKTtcbmxYNCA9IChsWCAmIDB4NDAwMDAwMDApO1xubFk0 ID0gKGxZICYgMHg0MDAwMDAwMCk7XG5sUmVzdWx0ID0gKGxYICYgMHgzRkZGRkZG RikgKyAobFkgJiAweDNGRkZGRkZGKTtcbmlmIChsWDQgJiBsWTQpIHtcbnJldHVy biAobFJlc3VsdCBeIDB4ODAwMDAwMDAgXiBsWDggXiBsWTgpO1xufVxuaWYgKGxY NCB8IGxZNCkge1xuaWYgKGxSZXN1bHQgJiAweDQwMDAwMDAwKSB7XG5yZXR1cm4g KGxSZXN1bHQgXiAweEMwMDAwMDAwIF4gbFg4IF4gbFk4KTtcbn0gZWxzZSB7XG5y ZXR1cm4gKGxSZXN1bHQgXiAweDQwMDAwMDAwIF4gbFg4IF4gbFk4KTtcbn1cbn0g ZWxzZSB7XG5yZXR1cm4gKGxSZXN1bHQgXiBsWDggXiBsWTgpO1xufVxufTtcbnZh ciBfRiA9IGZ1bmN0aW9uKHgsIHksIHopIHtcbnJldHVybiAoeCAmIHkpIHwgKCh+ eCkgJiB6KTtcbn07XG52YXIgX0cgPSBmdW5jdGlvbih4LCB5LCB6KSB7XG5yZXR1 cm4gKHggJiB6KSB8ICh5ICYgKH56KSk7XG59O1xudmFyIF9IID0gZnVuY3Rpb24o eCwgeSwgeikge1xucmV0dXJuICh4IF4geSBeIHopO1xufTtcbnZhciBfSSA9IGZ1 bmN0aW9uKHgsIHksIHopIHtcbnJldHVybiAoeSBeICh4IHwgKH56KSkpO1xufTtc bnZhciBfRkYgPSBmdW5jdGlvbihhLCBiLCBjLCBkLCB4LCBzLCBhYykge1xuYSA9 IGFkZFVuc2lnbmVkKGEsIGFkZFVuc2lnbmVkKGFkZFVuc2lnbmVkKF9GKGIsIGMs IGQpLCB4KSwgYWMpKTtcbnJldHVybiBhZGRVbnNpZ25lZChyb3RhdGVMZWZ0KGEs IHMpLCBiKTtcbn07XG5cbnZhciBfR0cgPSBmdW5jdGlvbihhLCBiLCBjLCBkLCB4 LCBzLCBhYykge1xuYSA9IGFkZFVuc2lnbmVkKGEsIGFkZFVuc2lnbmVkKGFkZFVu c2lnbmVkKF9HKGIsIGMsIGQpLCB4KSwgYWMpKTtcbnJldHVybiBhZGRVbnNpZ25l ZChyb3RhdGVMZWZ0KGEsIHMpLCBiKTtcbn07XG52YXIgX0hIID0gZnVuY3Rpb24o YSwgYiwgYywgZCwgeCwgcywgYWMpIHtcbmEgPSBhZGRVbnNpZ25lZChhLCBhZGRV bnNpZ25lZChhZGRVbnNpZ25lZChfSChiLCBjLCBkKSwgeCksIGFjKSk7XG5yZXR1 cm4gYWRkVW5zaWduZWQocm90YXRlTGVmdChhLCBzKSwgYik7XG59O1xudmFyIF9J SSA9IGZ1bmN0aW9uKGEsIGIsIGMsIGQsIHgsIHMsIGFjKSB7XG5hID0gYWRkVW5z aWduZWQoYSwgYWRkVW5zaWduZWQoYWRkVW5zaWduZWQoX0koYiwgYywgZCksIHgp LCBhYykpO1xucmV0dXJuIGFkZFVuc2lnbmVkKHJvdGF0ZUxlZnQoYSwgcyksIGIp O1xufTtcbnZhciBjb252ZXJ0VG9Xb3JkQXJyYXkgPSBmdW5jdGlvbihzdHIpIHtc bnZhciBsV29yZENvdW50O1xudmFyIGxNZXNzYWdlTGVuZ3RoID0gc3RyLmxlbmd0 aDtcbnZhciBsTnVtYmVyT2ZXb3Jkc190ZW1wMSA9IGxNZXNzYWdlTGVuZ3RoICsg ODtcbnZhciBsTnVtYmVyT2ZXb3Jkc190ZW1wMiA9IChsTnVtYmVyT2ZXb3Jkc190 ZW1wMSAtIChsTnVtYmVyT2ZXb3Jkc190ZW1wMSAlIDY0KSkgLyA2NDtcbnZhciBs TnVtYmVyT2ZXb3JkcyA9IChsTnVtYmVyT2ZXb3Jkc190ZW1wMiArIDEpICogMTY7 XG52YXIgbFdvcmRBcnJheSA9IG5ldyBBcnJheShsTnVtYmVyT2ZXb3JkcyAtIDEp O1xudmFyIGxCeXRlUG9zaXRpb24gPSAwO1xudmFyIGxCeXRlQ291bnQgPSAwO1xu d2hpbGUgKGxCeXRlQ291bnQgPCBsTWVzc2FnZUxlbmd0aCkge1xubFdvcmRDb3Vu dCA9IChsQnl0ZUNvdW50IC0gKGxCeXRlQ291bnQgJSA0KSkgLyA0O1xubEJ5dGVQ b3NpdGlvbiA9IChsQnl0ZUNvdW50ICUgNCkgKiA4O1xubFdvcmRBcnJheVtsV29y ZENvdW50XSA9IChsV29yZEFycmF5W2xXb3JkQ291bnRdIHwgKHN0ci5jaGFyQ29k ZUF0KGxCeXRlQ291bnQpIDw8IGxCeXRlUG9zaXRpb24pKTtcbmxCeXRlQ291bnQr Kztcbn1cbmxXb3JkQ291bnQgPSAobEJ5dGVDb3VudCAtIChsQnl0ZUNvdW50ICUg NCkpIC8gNDtcbmxCeXRlUG9zaXRpb24gPSAobEJ5dGVDb3VudCAlIDQpICogODtc bmxXb3JkQXJyYXlbbFdvcmRDb3VudF0gPSBsV29yZEFycmF5W2xXb3JkQ291bnRd IHwgKDB4ODAgPDwgbEJ5dGVQb3NpdGlvbik7XG5sV29yZEFycmF5W2xOdW1iZXJP ZldvcmRzIC0gMl0gPSBsTWVzc2FnZUxlbmd0aCA8PCAzO1xubFdvcmRBcnJheVts TnVtYmVyT2ZXb3JkcyAtIDFdID0gbE1lc3NhZ2VMZW5ndGggPj4+IDI5O1xucmV0 dXJuIGxXb3JkQXJyYXk7XG59O1xudmFyIHdvcmRUb0hleCA9IGZ1bmN0aW9uKGxW YWx1ZSkge1xudmFyIHdvcmRUb0hleFZhbHVlID0gJycsXG53b3JkVG9IZXhWYWx1 ZV90ZW1wID0gJycsXG5sQnl0ZSwgbENvdW50O1xuZm9yIChsQ291bnQgPSAwOyBs Q291bnQgPD0gMzsgbENvdW50KyspIHtcbmxCeXRlID0gKGxWYWx1ZSA+Pj4gKGxD b3VudCAqIDgpKSAmIDI1NTtcbndvcmRUb0hleFZhbHVlX3RlbXAgPSAnMCcgKyBs Qnl0ZS50b1N0cmluZygxNik7XG53b3JkVG9IZXhWYWx1ZSA9IHdvcmRUb0hleFZh bHVlICsgd29yZFRvSGV4VmFsdWVfdGVtcC5zdWJzdHIod29yZFRvSGV4VmFsdWVf dGVtcC5sZW5ndGggLSAyLCAyKTtcbn1cbnJldHVybiB3b3JkVG9IZXhWYWx1ZTtc bn07XG52YXIgeCA9IFtdLFxuaywgQUEsIEJCLCBDQywgREQsIGEsIGIsIGMsIGQs IFMxMSA9IDcsXG5TMTIgPSAxMixcblMxMyA9IDE3LFxuUzE0ID0gMjIsXG5TMjEg PSA1LFxuUzIyID0gOSxcblMyMyA9IDE0LFxuUzI0ID0gMjAsXG5TMzEgPSA0LFxu UzMyID0gMTEsXG5TMzMgPSAxNixcblMzNCA9IDIzLFxuUzQxID0gNixcblM0MiA9 IDEwLFxuUzQzID0gMTUsXG5TNDQgPSAyMTtcbnN0ciA9IHRoaXMudXRmOF9lbmNv ZGUoc3RyKTtcbnggPSBjb252ZXJ0VG9Xb3JkQXJyYXkoc3RyKTtcbmEgPSAweDY3 NDUyMzAxO1xuYiA9IDB4RUZDREFCODk7XG5jID0gMHg5OEJBRENGRTtcbmQgPSAw eDEwMzI1NDc2O1xueGwgPSB4Lmxlbmd0aDtcbmZvciAoayA9IDA7IGsgPCB4bDsg ayArPSAxNikge1xuQUEgPSBhO1xuQkIgPSBiO1xuQ0MgPSBjO1xuREQgPSBkO1xu YSA9IF9GRihhLCBiLCBjLCBkLCB4W2sgKyAwXSwgUzExLCAweEQ3NkFBNDc4KTtc bmQgPSBfRkYoZCwgYSwgYiwgYywgeFtrICsgMV0sIFMxMiwgMHhFOEM3Qjc1Nik7 XG5jID0gX0ZGKGMsIGQsIGEsIGIsIHhbayArIDJdLCBTMTMsIDB4MjQyMDcwREIp O1xuYiA9IF9GRihiLCBjLCBkLCBhLCB4W2sgKyAzXSwgUzE0LCAweEMxQkRDRUVF KTtcbmEgPSBfRkYoYSwgYiwgYywgZCwgeFtrICsgNF0sIFMxMSwgMHhGNTdDMEZB Rik7XG5kID0gX0ZGKGQsIGEsIGIsIGMsIHhbayArIDVdLCBTMTIsIDB4NDc4N0M2 MkEpO1xuYyA9IF9GRihjLCBkLCBhLCBiLCB4W2sgKyA2XSwgUzEzLCAweEE4MzA0 NjEzKTtcbmIgPSBfRkYoYiwgYywgZCwgYSwgeFtrICsgN10sIFMxNCwgMHhGRDQ2 OTUwMSk7XG5hID0gX0ZGKGEsIGIsIGMsIGQsIHhbayArIDhdLCBTMTEsIDB4Njk4 MDk4RDgpO1xuZCA9IF9GRihkLCBhLCBiLCBjLCB4W2sgKyA5XSwgUzEyLCAweDhC NDRGN0FGKTtcbmMgPSBfRkYoYywgZCwgYSwgYiwgeFtrICsgMTBdLCBTMTMsIDB4 RkZGRjVCQjEpO1xuYiA9IF9GRihiLCBjLCBkLCBhLCB4W2sgKyAxMV0sIFMxNCwg MHg4OTVDRDdCRSk7XG5hID0gX0ZGKGEsIGIsIGMsIGQsIHhbayArIDEyXSwgUzEx LCAweDZCOTAxMTIyKTtcbmQgPSBfRkYoZCwgYSwgYiwgYywgeFtrICsgMTNdLCBT MTIsIDB4RkQ5ODcxOTMpO1xuYyA9IF9GRihjLCBkLCBhLCBiLCB4W2sgKyAxNF0s IFMxMywgMHhBNjc5NDM4RSk7XG5iID0gX0ZGKGIsIGMsIGQsIGEsIHhbayArIDE1 XSwgUzE0LCAweDQ5QjQwODIxKTtcbmEgPSBfR0coYSwgYiwgYywgZCwgeFtrICsg MV0sIFMyMSwgMHhGNjFFMjU2Mik7XG5kID0gX0dHKGQsIGEsIGIsIGMsIHhbayAr IDZdLCBTMjIsIDB4QzA0MEIzNDApO1xuYyA9IF9HRyhjLCBkLCBhLCBiLCB4W2sg KyAxMV0sIFMyMywgMHgyNjVFNUE1MSk7XG5iID0gX0dHKGIsIGMsIGQsIGEsIHhb ayArIDBdLCBTMjQsIDB4RTlCNkM3QUEpO1xuYSA9IF9HRyhhLCBiLCBjLCBkLCB4 W2sgKyA1XSwgUzIxLCAweEQ2MkYxMDVEKTtcbmQgPSBfR0coZCwgYSwgYiwgYywg eFtrICsgMTBdLCBTMjIsIDB4MjQ0MTQ1Myk7XG5jID0gX0dHKGMsIGQsIGEsIGIs IHhbayArIDE1XSwgUzIzLCAweEQ4QTFFNjgxKTtcbmIgPSBfR0coYiwgYywgZCwg YSwgeFtrICsgNF0sIFMyNCwgMHhFN0QzRkJDOCk7XG5hID0gX0dHKGEsIGIsIGMs IGQsIHhbayArIDldLCBTMjEsIDB4MjFFMUNERTYpO1xuZCA9IF9HRyhkLCBhLCBi LCBjLCB4W2sgKyAxNF0sIFMyMiwgMHhDMzM3MDdENik7XG5jID0gX0dHKGMsIGQs IGEsIGIsIHhbayArIDNdLCBTMjMsIDB4RjRENTBEODcpO1xuYiA9IF9HRyhiLCBj LCBkLCBhLCB4W2sgKyA4XSwgUzI0LCAweDQ1NUExNEVEKTtcbmEgPSBfR0coYSwg YiwgYywgZCwgeFtrICsgMTNdLCBTMjEsIDB4QTlFM0U5MDUpO1xuZCA9IF9HRyhk LCBhLCBiLCBjLCB4W2sgKyAyXSwgUzIyLCAweEZDRUZBM0Y4KTtcbmMgPSBfR0co YywgZCwgYSwgYiwgeFtrICsgN10sIFMyMywgMHg2NzZGMDJEOSk7XG5iID0gX0dH KGIsIGMsIGQsIGEsIHhbayArIDEyXSwgUzI0LCAweDhEMkE0QzhBKTtcbmEgPSBf SEgoYSwgYiwgYywgZCwgeFtrICsgNV0sIFMzMSwgMHhGRkZBMzk0Mik7XG5kID0g X0hIKGQsIGEsIGIsIGMsIHhbayArIDhdLCBTMzIsIDB4ODc3MUY2ODEpO1xuYyA9 IF9ISChjLCBkLCBhLCBiLCB4W2sgKyAxMV0sIFMzMywgMHg2RDlENjEyMik7XG5i ID0gX0hIKGIsIGMsIGQsIGEsIHhbayArIDE0XSwgUzM0LCAweEZERTUzODBDKTtc bmEgPSBfSEgoYSwgYiwgYywgZCwgeFtrICsgMV0sIFMzMSwgMHhBNEJFRUE0NCk7 XG5kID0gX0hIKGQsIGEsIGIsIGMsIHhbayArIDRdLCBTMzIsIDB4NEJERUNGQTkp O1xuYyA9IF9ISChjLCBkLCBhLCBiLCB4W2sgKyA3XSwgUzMzLCAweEY2QkI0QjYw KTtcbmIgPSBfSEgoYiwgYywgZCwgYSwgeFtrICsgMTBdLCBTMzQsIDB4QkVCRkJD NzApO1xuYSA9IF9ISChhLCBiLCBjLCBkLCB4W2sgKyAxM10sIFMzMSwgMHgyODlC N0VDNik7XG5kID0gX0hIKGQsIGEsIGIsIGMsIHhbayArIDBdLCBTMzIsIDB4RUFB MTI3RkEpO1xuYyA9IF9ISChjLCBkLCBhLCBiLCB4W2sgKyAzXSwgUzMzLCAweEQ0 RUYzMDg1KTtcbmIgPSBfSEgoYiwgYywgZCwgYSwgeFtrICsgNl0sIFMzNCwgMHg0 ODgxRDA1KTtcbmEgPSBfSEgoYSwgYiwgYywgZCwgeFtrICsgOV0sIFMzMSwgMHhE OUQ0RDAzOSk7XG5kID0gX0hIKGQsIGEsIGIsIGMsIHhbayArIDEyXSwgUzMyLCAw eEU2REI5OUU1KTtcbmMgPSBfSEgoYywgZCwgYSwgYiwgeFtrICsgMTVdLCBTMzMs IDB4MUZBMjdDRjgpO1xuYiA9IF9ISChiLCBjLCBkLCBhLCB4W2sgKyAyXSwgUzM0 LCAweEM0QUM1NjY1KTtcbmEgPSBfSUkoYSwgYiwgYywgZCwgeFtrICsgMF0sIFM0 MSwgMHhGNDI5MjI0NCk7XG5kID0gX0lJKGQsIGEsIGIsIGMsIHhbayArIDddLCBT NDIsIDB4NDMyQUZGOTcpO1xuYyA9IF9JSShjLCBkLCBhLCBiLCB4W2sgKyAxNF0s IFM0MywgMHhBQjk0MjNBNyk7XG5iID0gX0lJKGIsIGMsIGQsIGEsIHhbayArIDVd LCBTNDQsIDB4RkM5M0EwMzkpO1xuYSA9IF9JSShhLCBiLCBjLCBkLCB4W2sgKyAx Ml0sIFM0MSwgMHg2NTVCNTlDMyk7XG5kID0gX0lJKGQsIGEsIGIsIGMsIHhbayAr IDNdLCBTNDIsIDB4OEYwQ0NDOTIpO1xuYyA9IF9JSShjLCBkLCBhLCBiLCB4W2sg KyAxMF0sIFM0MywgMHhGRkVGRjQ3RCk7XG5iID0gX0lJKGIsIGMsIGQsIGEsIHhb ayArIDFdLCBTNDQsIDB4ODU4NDVERDEpO1xuYSA9IF9JSShhLCBiLCBjLCBkLCB4 W2sgKyA4XSwgUzQxLCAweDZGQTg3RTRGKTtcbmQgPSBfSUkoZCwgYSwgYiwgYywg eFtrICsgMTVdLCBTNDIsIDB4RkUyQ0U2RTApO1xuYyA9IF9JSShjLCBkLCBhLCBi LCB4W2sgKyA2XSwgUzQzLCAweEEzMDE0MzE0KTtcbmIgPSBfSUkoYiwgYywgZCwg YSwgeFtrICsgMTNdLCBTNDQsIDB4NEUwODExQTEpO1xuYSA9IF9JSShhLCBiLCBj LCBkLCB4W2sgKyA0XSwgUzQxLCAweEY3NTM3RTgyKTtcbmQgPSBfSUkoZCwgYSwg YiwgYywgeFtrICsgMTFdLCBTNDIsIDB4QkQzQUYyMzUpO1xuYyA9IF9JSShjLCBk LCBhLCBiLCB4W2sgKyAyXSwgUzQzLCAweDJBRDdEMkJCKTtcbmIgPSBfSUkoYiwg YywgZCwgYSwgeFtrICsgOV0sIFM0NCwgMHhFQjg2RDM5MSk7XG5hID0gYWRkVW5z aWduZWQoYSwgQUEpO1xuYiA9IGFkZFVuc2lnbmVkKGIsIEJCKTtcbmMgPSBhZGRV bnNpZ25lZChjLCBDQyk7XG5kID0gYWRkVW5zaWduZWQoZCwgREQpO1xufVxudmFy IHRlbXAgPSB3b3JkVG9IZXgoYSkgKyB3b3JkVG9IZXgoYikgKyB3b3JkVG9IZXgo YykgKyB3b3JkVG9IZXgoZCk7XG5yZXR1cm4gdGVtcC50b0xvd2VyQ2FzZSgpO1xu fSJ9fQ== JS для подсчета MD5 взят отсюда: http://a-parser.com/threads/1984/#post-6171