TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
[algorytm] Jak generować krótkie, niepowtarzalne ciągi znaków? , kubazzz 6/10/09 16:29 Np 6 znakowy?
Chodzi o oznaczenie artykułu w bazie.
Coś jak mają filmy na Jewtube, linki na tinyurl, itd.
Do dłuższych ciągów można wziąć np tytul artykulu + time() i zrobić jakiegoś popularnego hash'a i ładnie wygląda. Ale to dosyć długie ciągi znaków.SM-S908 - na 6 znakach , Deus ex machine 6/10/09 16:36
chcesz niepowtarzalne? .) wez normalne md5 z nazwy + microsekundy i sie nie patyczkuj."Uti non Abuti" - noooo jak masz 6 pozycji i 34 możliwe znaki , kubazzz 6/10/09 17:02
to jest sporo możliwych permutacji - 968 330 880, wystarczy spokojnie.SM-S908
- w javie... , xmac 6/10/09 16:39
moze byc np. tak
private static int rand(int lo, int hi) {
int n = hi - lo + 1;
int i = rn.nextInt() % n;
if (i < 0)
i = -i;
return lo + i;
}
private static String randomString(int lo, int hi) {
int n = rand(lo, hi);
byte b[] = new byte[n];
for (int i = 0; i < n; i++)
b[i] = (byte)rand('a', 'z');
return new String(b, 0);
}
albo korzystajac z apache commons - RandomStringUtils.random
a w php np. tak:
function generatePassword ($length = 8)
{
// start with a blank password
$password = "";
// define possible characters
$possible = "0123456789bcdfghjkmnpqrstvwxyz";
// set up a counter
$i = 0;
// add random characters to $password until $length is reached
while ($i < $length) {
// pick a random character from the possible ones
$char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
// we don't want this character if it's already in the password
if (!strstr($password, $char)) {
$password .= $char;
$i++;
}
}
// done!
return $password;
}dual&mobile power
XMAC - jak znam (moje) życie , kubazzz 6/10/09 17:03
wylosują mi się dwa takie same dosyć szybko;)SM-S908 - o lol :) , Wedrowiec 6/10/09 17:05
rob hasha, tnij do 6 znakow, pole unique i jak zworci error to generuj ponownie :D"Widziałem podręczniki
Gdzie jest czarno na białym
Że jesteście po**bani" - hmm , kubazzz 6/10/09 18:32
a crc32?SM-S908
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|