2016-09-07 7 views
-1

暗号化プログラムを構築していました。文字を混在させる予定です(たとえば、1234567890は6345809127として暗号化されます)。アレイを10の倍数の倍数に近づけないでください

残念ながら、特定のパターンで混合するには、10の倍数になる文字列が必要なので、文字列の長さが10の倍数になるまで、'のような文字を追加します。たとえば、hello(5文字)を入力すると、スクリプトは'を10文字まで挿入するので、hello'''''のようになります。

これを行う方法に関するアイデアはありますか?

+4

まずルール、独自の暗号を作成することはありません。 – jcubic

+0

'は暗号化プログラムを構築しています.'' ALARM BELLS。ただ...しないでください。 – Jamiec

+0

セキュリティの第1のルールは、暗号化プログラムをパブリックインターフェイスにロールアウトしないことです。あなた自身が自分たちの仕組みやAからZの間のプロセスを理解するのを助けることができます。誰もがA * Webサービスを構築しているわけではありません! –

答えて

5

あなた自身の暗号化(ここでの回答には長すぎる約100万回)の自明な問題とは別に、あなたが求めていることはかなり単純です。 10のinput文字列 10までではなく、倍数をカバー

var padStr = "''''''''''"; 
 
var input = "hello"; 
 

 
var output = input + padStr.substring(10-input.length); 
 
console.log(output); 
 
console.log(output.length);

。わずかに、より複雑なもののザッツ:セキュリティの

var padStr = "''''''''''"; 
 
var input = "helloworldlongerthan10"; 
 

 
var output = input + padStr.substring(input.length%10); 
 
console.log(output); 
 
console.log(output.length);

+0

10の倍数では機能しません。負の部分文字列値が作成されます。修正:.substring(10-input.length%10) – yezzz

+0

@yezzz - どちらも動作しません。私は、あなたが働いている解決策でコメントしたときに更新していました。 – Jamiec

+0

ありがとう!魅力のように動作します。 +1 – KingK