Ouverture de session

Commentaires récents

Syndication
Flux XML

équivalent de str_shuffle de php

équivalent de str_shuffle de php
Posté par arsoft le Samedi, 14 Juin, 2008 - 3:13pm. Pratique de Ruby on Rails - O'Reilly

salut,
en fait je cherche l'equivalent de str_shuffle(php) en ror
quelqu'un peut m'aider ?
merci d'avance



[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | sujet précédent | sujet suivant | envoyer par email ]

Options d'affichage des commentaires
Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder" pour activer vos changements.

Sujet: 
str_shuffle
Auteur: 
jasperiel
Date: 
Sam, 14/06/2008 - 16:51

Je trouve que c'est un besoin bien étrange, mais pourquoi pas.

Surtout que je vois des gens en PHP suggérer d'utiliser ça pour un mot de passe... je recommanderais plutôt un String.crypt, à la rigueur, ou un algo bien obscur sur le marshalling, mais rien ne vaut les vrais algos de sécu. Bref.
http://www.ruby-doc.org/core/classes/String.html#M000738

Tu peux transformer ta chaîne en tableau puis choisir en random (Kernel.rand(max) pour un chiffre en random) l'une des permutations, mais c'est un peu overkill et gaspillerait des ressources.
http://www.ruby-doc.org/core/classes/Array.html#M000338

J'ai essayé ce petit jeu, pour voir : une fonction de tri random. Apparemment ça passe, tu n'as qu'à tester avec tes données pour voir si ça te plaît.


irb(main):014:0> s = "bonjour"
irb(main):015:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join
=> "bonuojr"
irb(main):016:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join
=> "oounrjb"
irb(main):017:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join
=> "bojnoru"
irb(main):018:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join
=> "ounbojr"
irb(main):019:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join
=> "bnjrouo"
irb(main):020:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join
=> "rouojbn"
irb(main):021:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join
=> "ujboron"
irb(main):022:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join
=> "ooubjnr"
irb(main):023:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join
=> "noobjru"


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Nouveaux liens

Qui est en ligne
Il y a actuellement 1 utilisateur et 29 invités en ligne.

railsfrance.org - communauté francophone des utilisateurs de Ruby on Rails
[ Propulsé par Drupal ]