Najprostszy generator hasła w historii

Najprostszy generator haseł jaki tylko można napisać w ruby :stuck_out_tongue:

 rand(999_999_999).to_s(16)

10/10 :slight_smile:
Zwłaszcza za bazę jako parametr to_s - podanie “32” lub “36” da bardziej literkowego stringa. Nie znałem tego, dzięki :slight_smile:

Hmmmm bardzo fajne:D Dzieki

Bomba! Fajna rzecz.
Może by napisać jakiś sajt lub chociaż przyklejony temat na forum w takimi przydatnymi, krótkimi kawałkami kodu?

Po to właśnie powstała sekcja Tips and Tricks na tym forum :wink:

Yeah. Przy okazji fajny system przeliczania na rozne systemy liczbowe

15.to_s(16)
=> “f”

A to dobre jest :slight_smile:

Działa też i w drugą stronę:)

‘f’.to_i(16)
=> 15

Ałłła. To “działanie w drugą stronę” to przypadek (a raczej mroczna właściwość ASCII w szesnastkowym) i nawet nie próbuj z tego korzystać.

Za późno - już korzystałem.
I nie zamierzam przestać:)

'1010'.to_i(2) => 10
Chyba jednak działa :wink:

OK, to może ja czegoś nie skumałem – muszę to obadać. Sorry za FUD zatem.

Musi działać, symetria musi być :slight_smile:

Oprócz generowania haseł przydaje się do “ukrywania” railsowych id z bazy w url’ach, np 38887485974.to_s(36)

[quote=hosiawak]Musi działać, symetria musi być :slight_smile:

Oprócz generowania haseł przydaje się do “ukrywania” railsowych id z bazy w url’ach, np 38887485974.to_s(36)[/quote]
To może wielu się przydać :), szczególnie tym którzy nie korzystają z friendly url i chcą ukryć chociażby faktyczną liczbę artykułów, czy zarejestrowanych użytkowników :)), w tym drugim przypadku widzę pozytywny szał właścicieli serwisów :slight_smile:

Bez sensu – w momencie skumania jaka transformacja została użyta “pęka” cały sekret najwyższego ID itp. A bardzo łatwo to skumać – wybór bazy jest określony przez “najwyższą” literę znalezioną w ciągu, a np. base64 poznać można po paru innych cecach (zwłaszcza jeśli koduje wyłącznie ciągi liczb).

W tym tricku nie chodzi o zakodowanie liczby żeby był nie do odszyfrowania, odszyfrowanie tego jest trywialne dla programisty tak jak napisałeś powyżej lecz bardziej o skrócenie długich integerów (na przykład) dlatego napisałem “ukrywania” a nie ukrywania :). Tak czy inaczej trick jest fajny i można go w wielu miejscach zastosować.

Mi się zdarzyło używać tej metody do generowania urla wysyłanego WAP Pushem, gdzie wypada się zmieścić wraz z nagłówkami w 140 bajtach, żeby poszło jednym SMSem - wtedy każdy bajt jest cenny.

Według mnie również to dobry sposób na “skracanie” urla. Np. twitter, gdzie obecnie id statusów jest już dziesięciocyfrowe.

Zamiast więc:

Mogłoby być:

http://twitter.com/foobar/status/kf12oi

Mysle, ze duzo systemow skracajacych linki wlasnie to wykorzystuje. Np nasz rodzimy blip.pl tez uzywa, wiec “g343”.to_i(36) wychodzi 750531 , to juz troche skroconych linkow.

I dobrze, bo bardzo przydatne.

EDIT: dla przykladu wspomniany Blip jednak używa BASE 36 a nie jak wczesniej pisalem 32, wiec poprawilem.

[quote=nairda]Według mnie również to dobry sposób na “skracanie” urla. Np. twitter, gdzie obecnie id statusów jest już dziesięciocyfrowe.

Zamiast więc:

Mogłoby być:

http://twitter.com/foobar/status/kf12oi[/quote]
Ano mogłoby, Twitter znany jest m.in. z tego, że nie pracują dla niego specjalnie bystrzy deweloperzy :wink: