Générer une chaine aléatoire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 26 180 fois - Téléchargée 28 fois

Contenu du snippet

Ce code source est très simple. Il permet de créer une chaine aléatoire (pratique pour une demande de confirmation par mail pour des votes ou autres...)

Je sais bien qu'il est possible par d'autres moyens d'arriver à la même chose => variables de sessions), mais avec ce code, on peut choisir son dictionnaire et surtout la taille de la chaine à générer.

Source / Exemple :


function CreateAleatoire(StrTaille)

		'--------------------------------------------------'
		'Création d'une chaine de caractères aléatoire     '
		' -----------------------------                    '
		'	strTaille : Longueur de la chaine de sortie'
		'--------------------------------------------------'

		Dim l, s, i, Dictionnaire
		if StrTaille = 0 then exit function

		Dictionnaire = "abcdefghijklmnopqrstuvwxyz1234567890"
		
		l = len(Dictionnaire)
		for i = 0 to StrTaille -1
			randomize
			s = s & mid(Dictionnaire, int(rnd * l)+1, 1)
		next
		CreateAleatoire = s
	end function

Conclusion :


le parametre strTaille permet de définir la longueur de la chaine qui sera renvoyée.

Amusez vous bien ;)

A voir également

Ajouter un commentaire

Commentaires

StevenJLMunn
Messages postés
36
Date d'inscription
jeudi 26 juin 2003
Statut
Membre
Dernière intervention
11 septembre 2005
-
Pourquoi tu fais un dictionare quand tu pourrais faire:
Randomize
x = (Rnd * 254)+1
x = chr(x)
s = s & x
Avec ca n'importe lequel des Charactères ASCII pourait apparetre.
BinOff
Messages postés
25
Date d'inscription
mardi 24 juillet 2001
Statut
Membre
Dernière intervention
13 décembre 2007
-
si je ne fais pas ca, c'est pour éviter certains caractères spéciaux. La fonction a été créée à l'origine pour permettre la validation d'une action par mail.

L'utilisateur étant inviter à cliquer sur un lien avec une clé spéciale de validation, il ne fallait pas de caractères accentués, ni de symboles tels que le ?, et le & par exemple.
ThunderPsycho
Messages postés
180
Date d'inscription
lundi 3 juin 2002
Statut
Membre
Dernière intervention
4 février 2007
-
Mouai bof...
Dans le cas ou tu veux un identifiant unique pour tes réponses par mail tu peux utiliser l'id unique de session de IIS, et meme tu peux y rajouter derriere un truc du genre :

Session.SessionID & "_" & Int(Date()) & "_" & Int(Time())

...
Comme ça tu peux même réidentifier ton client web a condition que tu ais une base de données avec tout ca dedans...
surfzoid
Messages postés
467
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010
-
Je m 'y connait plus trop en site web, mais normalement ont fait pas ça avec un simple cookie !!!!!
BinOff
Messages postés
25
Date d'inscription
mardi 24 juillet 2001
Statut
Membre
Dernière intervention
13 décembre 2007
-
oui surfzoid, on peut le faire par variable de session. C'est marqué dans le commentaire de présentation.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.