Pracuję z Bash. Chcę wygenerować ciąg randrom według czasu systemowego. Długość unikatowego ciągu musi wynosić od 10 do 30 znaków.Czy komukolwiek możesz mi pomóc?Losowy ciąg w systemie Linux według czasu systemowego
Odpowiedz
Istnieje wiele sposobów, aby to zrobić, moim ulubionym użyciem urządzenia urandom
:
[email protected]:~$ tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1
CCI4zgDQ0SoBfAp9k0XeuISJo9uJMt
tr
(tłumacz) zapewnia, że tylko litery są pokazanefold
będą zawijać do 30 znaków szerokościhead
zapewnia, że otrzymamy tylko pierwszą linię
Aby użyć bieżącego czasu systemowego (jak masz ten konkretny wymóg):
[email protected]:~$ date +%s | sha256sum | base64 | head -c30; echo
NDc0NGQxZDQ4MWNiNzBjY2EyNGFlOW
date +%s
= to jest nasza data nasion oparty- Prowadzimy go przez kilka skrótów, aby uzyskać " random”string
- w końcu obciąć go do 30 znaków
Inne sposoby (w tym dwóch Wymienię ed powyżej) są dostępne pod this page i innych, jeśli po prostu google.
Może możesz użyć uuidgen -t
.
Generowanie opartego na czasie identyfikatora UUID. Ta metoda tworzy identyfikator UUID na podstawie zegara systemowego plus adres sprzętowy systemu Ethernet, jeśli jest obecny.
Niedawno przygotowałem skrypt do obsłużenia tego, wyjście jest 33-cyfrową sumą kontrolną md5, ale można ją przyciąć przy pomocy sed pomiędzy 10-30.
E.g. gen_uniq_id.bsh | sed 's/\(.\{20\}\)\(.*$\)/\1/'
Skrypt jest dość odporny - wykorzystuje aktualny czas do nanosekund,/dev/urandom, dane ruchów myszy i pozwala na opcjonalną zmianę czasów zbierania danych losowych i kolekcji danych myszy.
Posiada również opcję -s, która pozwala na dołączenie dodatkowego argumentu łańcuchowego, dzięki czemu można dowolnie losować ziarno.
- 1. DateTime.Now vs czasu systemowego
- 2. Zachowanie wywołania systemowego fork() w systemie Linux w tym kodzie
- 3. Windows Command Line Odpowiednik "czasu" w systemie Linux?
- 4. synchronizacja czasu systemowego w 2 telefonach
- 5. Python: losowy czas systemowy seed
- 6. Harmonogram Java, który jest całkowicie niezależny od zmian czasu systemowego
- 7. Jak wyłączyć lub zmienić limit czasu GPU w systemie Linux?
- 8. sortować według kolumny Linux
- 9. Jak uzyskać format czasu systemowego, gdy region jest "Wielka Brytania" w systemie ios?
- 10. Przechwytywanie wywołania systemowego w module jądra Linux (jądro 3.5)
- 11. Anuluj zadanie według czasu
- 12. Losowy ciąg znaków z listy ciągów znaków
- 13. Statystyki procesora dla wątków w systemie Linux
- 14. Porównywanie dat według czasu według wewnętrznych znaczników?
- 15. Czy losowy ciąg to dobry kod weryfikacyjny
- 16. Jak utworzyć losowy ciąg szesnastkowy reprezentujący kolor?
- 17. Interlocked odpowiednik w systemie Linux
- 18. Profilowanie wydajności w systemie Linux
- 19. Błędy Tomcat w systemie Linux
- 20. Programowanie kamery w systemie Linux
- 21. Dystrybucja oprogramowania w systemie Linux?
- 22. Liczba operacji na plikach w systemie Linux
- 23. Postgresql - sortuj według czasu UUID v1 znacznik czasu
- 24. Programowy dostęp do "paska systemowego" w systemie Android?
- 25. Java BlockingQueue opóźnienie wysokie w systemie Linux
- 26. Jak rejestrować zużycie pamięci w systemie Linux?
- 27. Ustawianie automatycznego parowania Bluetooth w systemie Linux
- 28. Rozwój ARM na systemie Linux
- 29. Zablokuj informacje o urządzeniu bez montowania (w systemie Linux)
- 30. losowy element w numpy
Czy to jest losowe? Lub w jakiś sposób określony przez czas systemowy? – Thilo
W jakim języku? C, C++, Bash, Python, Perl? –
co powiesz na 'date | md5' – suspectus