2017-01-30 8 views
0

私はパスワードを暗号化しようとしていますが、私の頭の中で頭を抱えてしまいました。マップを使用して文字を置換する

var replacementMap = {'a' : 'm', 'b' : 'h', 'c' : 't', 'd' : 'f', 'e' : 'g', 'f' : 'k', 'g' : 'b', 'h' : 'p', 'i' : 'j', 'j' : 'w', 'k' : 'e', 'l' : 'r', 'm' : 'q', 'n' : 's', 'o' : 'l', 'p' : 'n', 'q' : 'i', 'r' : 'u', 's' : 'o', 't' : 'x', 'u' : 'z', 'v' : 'y', 'w' : 'v', 'x' : 'd', 'y' : 'c', 'z' : 'a', } 

var charToBeReplaced = password; 

string bleh = charToBeReplaced.replace(charToBeReplaced, replacementMap[charToBeReplaced]); 

console.log(bleh); 

私はユーザー入力をどのように正確に受け取り、それを使用して私の条件に基づいて置き換えますか?

+0

'文字列bleh'は、この[タグ:Javaの]ですか? – Tushar

+0

これはJavaScriptであることを意図していますが、私はまだそれについて学んでいます。私はハイブリッドコーディングの悪い習慣がC#であるので、それはjavascriptに似ています。 –

+1

あなたがコーディングしている環境がわからないと、あなたを助けることは不可能になります - あなたにとってクリニートサイドの意味は何ですか? – Soren

答えて

1

これは深刻ではなく、学習目的のためだけのものです。コメントで述べたように、これはBIGのトラブル(重大なセキュリティ全体)につながる可能性があります。

var replacementMap = {'a' : 'm', 'b' : 'h', 'c' : 't', 'd' : 'f', 'e' : 'g', 'f' : 'k', 'g' : 'b', 'h' : 'p', 'i' : 'j', 'j' : 'w', 'k' : 'e', 'l' : 'r', 'm' : 'q', 'n' : 's', 'o' : 'l', 'p' : 'n', 'q' : 'i', 'r' : 'u', 's' : 'o', 't' : 'x', 'u' : 'z', 'v' : 'y', 'w' : 'v', 'x' : 'd', 'y' : 'c', 'z' : 'a', } 
 

 
var password = prompt("Enter passwor: "); 
 

 
// bleh should be initialized 
 
var bleh = ""; 
 
// loop through all chars of password one by one 
 
for(var i = 0; i < password.length; i++){ 
 
    // get the current character lowercased 
 
    var char = password.charAt(i).toLowerCase(); 
 
    // append to bleh its equivalent value (note that if there is no key for this char undefined will be appended instead) 
 
    bleh += replacementMap[char]; 
 
} 
 

 
console.log("'" + password + "' becomes '" + bleh + "'");

関連する問題