Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Niepowtarzalny ciąg znaków
Forum PHP.pl > Forum > Przedszkole
lekosm2
Witam, chciałbym zrobić podczas dodawania rekordu do bazy unikalny identyfikator, który składał się będzie z jakiegoś ciągu(najlepiej 8 znaków) dużych liter i cyfr. Na początku myślałem, że się da zrobić auto_increment, który składa się z liter i cyfr, ale nie da się takiego zrobić. Ważne jest, by ten ciąg znaków się nigdy nie powróżył.
Pomożecie? Z góry dziękuję i pozdrawiam.
Szymciosek
Słowo klucz: UUID

https://en.wikipedia.org/wiki/Universally_unique_identifier
https://www.uuidgenerator.net/

pomogło? smile.gif
lekosm2
No ten UUID, co podałeś to taki jakiś skomplikowany, myślałem nad czymś bardziej prostszym coś w stylu "D4BI8Z6B" - 8 znakowe.
viking
http://hashids.org/
Możesz wykorzystać sekwencję z bazy dla rekordu.

Albo np http://framework.zend.com/manual/current/e...troduction.html
Albo od razu http://php.net/manual/en/function.random-bytes.php
lekosm2
A co myślicie o tej funkcji?
http://pl.php.net/manual/pl/function.uniqid.php


A i powiedzcie mi jak zrobić by generowały się DUŻE LITERY w poniższym kodzie?
  1. printf("uniqid(): %s\r\n", uniqid());


@Edit
Znalazłem http://php.net/manual/en/function.strtoupper.php

To teraz mi tylko powiedzcie, czy użycie tej funkcji uniqid() to dobre rozwiązanie. smile.gif
viking
Wygenerowanie wielu wartości na raz w tym samym czasie może dać identyczne identyfikatory. Jest też podatna na ataki czasowe.
lekosm2
Cytat(viking @ 29.05.2016, 21:57:34 ) *
Wygenerowanie wielu wartości na raz w tym samym czasie może dać identyczne identyfikatory. Jest też podatna na ataki czasowe.


Wygenerowany kod ma służyć w celu identyfikacji odcisku palca dla postaci w grze, więc nie stawiam na bezpieczeństwo.
Co do wygenerowana w tym samym czasie takich samych, to wątpię w to bo kilku użytkowników jednocześnie musiało stworzyć postać, a to mało prawdopodobne.

Dziękuję za wszystkie odpowiedzi, problem rozwiązany.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.