2009-10-24 10 views

risposta

24
string newString = new string('*', oldString.Length); 

Naturalmente, questo è per la visualizzazione di equivalenti di password, potrebbe essere meglio utilizzare un numero fisso di asterischi - meno indizi meglio è. Naturalmente, dal momento che ci si ovviamente essere hashing la password (con sale) e memorizzare solo l'hash, non si poteva conoscere la lunghezza effettiva in ogni caso ;-p

+1

Funziona alla grande. Grazie. – user

+1

Un numero fisso di asterischi non ha senso per un campo di immissione della password. Se hai intenzione di dare all'utente alcun feedback di sorta, allora potresti anche non mostrare nulla. – Joren

0

Un'altra soluzione potrebbe essere:

Console.Write(System.Text.RegularExpressions.Regex.Replace("test",".", "*")); 
+1

Dal punto di vista delle prestazioni, sarebbe estremamente imprudente creare un oggetto Regex per uno scopo come questo. I metodi di stringa di cui sopra sarebbero più performanti. – Qwerty

+0

yah, lo so ma sembra che la domanda non abbia richiesto nessuna hit di perfomance. – daxsorbito

+1

Effettuare il backup "dal punto di vista delle prestazioni ... imprudente per creare un oggetto Regex". Anche se potrebbe non essere una soluzione ideale qui, questo odora di un brutto caso di "ipotesi di ottimizzazione prematura". –

0
var message = "hello world" ; 
var newMessage = new String('*', message.Length); 
+0

Usa il messaggio.La lunghezza invece è –

+0

d'accordo, sciocco errore di battitura. grazie! – Qwerty

Problemi correlati