"PHP" / Говнокод #7703 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
<?php 
function crypt_apr1_md5($plainpasswd) { 
    $salt = substr(str_shuffle("abcdefghijklmnopqrstuvwxyz0123456789"), 0, 8); 
    $len = strlen($plainpasswd); 
    $text = $plainpasswd.'$apr1$'.$salt; 
    $bin = pack("H32", md5($plainpasswd.$salt.$plainpasswd)); 
    for($i = $len; $i > 0; $i -= 16) { $text .= substr($bin, 0, min(16, $i)); } 
    for($i = $len; $i > 0; $i >>= 1) { $text .= ($i & 1) ? chr(0) : $plainpasswd{0}; } 
    $bin = pack("H32", md5($text)); 
    for($i = 0; $i < 1000; $i++) { 
        $new = ($i & 1) ? $plainpasswd : $bin; 
        if ($i % 3) $new .= $salt; 
        if ($i % 7) $new .= $plainpasswd; 
        $new .= ($i & 1) ? $bin : $plainpasswd; 
        $bin = pack("H32", md5($new)); 
    } 
    for ($i = 0; $i < 5; $i++) { 
        $k = $i + 6; 
        $j = $i + 12; 
        if ($j == 16) $j = 5; 
        $tmp = $bin[$i].$bin[$k].$bin[$j].$tmp; 
    } 
    $tmp = chr(0).chr(0).$bin[11].$tmp; 
    $tmp = strtr(strrev(substr(base64_encode($tmp), 2)), 
    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", 
    "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"); 
    return "$"."apr1"."$".$salt."$".$tmp; 
} 
?>

Кручу-верчу, запутать хочу!

Запостил: 7ion 7ion, (Updated )

Комментарии (4) RSS

  • Анти-брутфорс ? Мне правда сомнительно что в этой печке, линии не пересекаются ...
    Ответить
  • Перестановки в соли, вроде как, дадут теоретически меньшую мощность результирующего множества солей.

    Вообще, алгоритм крайне странный и сомнительно, что он даст хоть какую-то вменяемую полезность.
    Ответить
  • б:X)O:T Y.D:M?W:P!V?A(B:I$H!R!Q"F$P!M K I?G:N$V:P!Q.D$O!N,V"UU Q?Q:O:Q DG(K(D BF,H.G!U!X:X,F$K T?X(D?K!W?B.B.J:N(OG(K!J,R"S(S!TU)W D"A(X Z:P)B"W S S$R"K?X"X$G,B)U"I(J(V?J.J?L)L G!M V"W.D O(S(G!Z?Y)C!D G:K,W$Z?C:D?RN:X?E,O H!U"ZU!E(J!CVN A W,F:F!E Y?U"H:A.B:A!P"XH?TN(D:T(C$A!N!C)A?P?M:P,F HX)U(O)U:N,J(S:R(A(K)R$N,Y:A"O)E.W!X.C)Z GI Y"E)K,C,X?R(Y!U.NOG$J?WT!C!B!E.E)J V!L(N,N?J!S)J Y!F,P,S?L,YU:FV?C.U!T?I,U!R(I.C$T)SP:L.L?V$J!IL X"H!V)F:A P"W?G)D)E?R M R:S)V.H?D$W?K!ES W)X"H S.G?K.L!OO"W,U:K?I$U)C!H?Z,H)V,S(Y?T(U.K(R:R"J?J$Y U)JP?H$O(H?M:I K$S.IZ Y,L!M!A"SZ$X!W,TC"T:Y!Y:C Q M,I"V,U)B I"Y!S,DP A)S Q!K"V$H.N$K,R$J:E:F!I:V.Q"U,K(J,R?Z(Q(D(J)V(L Y"PU,Y!H I(Z,K:X.C$F:F?N?V)I R$L,L?S?K A.A?V A:Q(A EMN!Z)S)E!PK$X)H"H,J)O(O)W:L)R!N V DV?D$ER:I?F)PG,K"V"S(Y(Q,A!Q(N$C:C"B,F BT$R(F L J.T:M?K"I,N)Y?XD,I B,C(F)M!ZL$N)N.S U!T B:U:N,G,O:L"W,H"O"Z)A"MWH"H$A!M?P$J"L:P U)F?R.N)C.Q S:M?C!R)R$R)B?V)I!X!Q.S(W,S"P:X M?I.S$H$P.J"Q,R?Q?D(C(L(W(W.R J.C)J"G.T)F)E(L:W$Q$T(A,V"N?Y$LYE"L!D:H!Y,H.M.V(T"N?U.Q!E!N)X)YO?F(Q)N.S(O.A,S?Y(W!S"C(W,T!K!GI$E)W$F?I!O$A"UO$M Q,E)OAU$H T(J!E,Q D(G"Q$W!Z!N$K)C:G.VX,Z:V:F!O:Z:U)T(V.X K?S!V"F T G?Q P?T$N.I I$H,O"Y K?P?D:E$O:E!A"F,O,Q(Z,M$CO"G(H:R$A!Y?F R.C(D!U,NL B,D.I(O(G$D.KS,D,U!W"R K(MZ"H?M?A"D A$U$U!N)E:Y!I.F"E.M$F!L Z!ER S"C,K?T?M,B.Y!L!K$PZK,QB Z.I,B FQ?O.HC)R!X.V.IK!R XJ?W:E?DF"L"UY,PMZ F!C!XЗIXHBNMHMWUTTUFXQJOHEMJWIXBVVWBEDD
    Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8