最近私はMATLABでプログラミングを開始し、楽しみのためだけに1337スピーカーのようなジェネレータ/ストリングマニピュレータを実装しようとしました。課題として、すべての "a"が "@"に変更されないように、各文字の発生をランダムに変更しようとしています。ランダムに文字列を変更するMATLABループ
私の試みは非常に恣意的です(しかし、時には効果がない)ので、私の試みはいくつか拡張されているようですが、これを達成するためのより良い方法があると思います。おそらく、26文字のそれぞれに対してより多くの選択肢を追加し、それらから無作為に選択するのでしょうか?
function O = obfuscate(s)
str = 'hello world';
for i=1:length(str)
randomNum = randi(26,1);
switch randomNum
case 1
str = regexprep(str, 'a', '@', 'once');
case 2
str = regexprep(str, 'b', 'l3', 'once');
case 3
str = regexprep(str, 'c', '<', 'once');
case 4
str = regexprep(str, 'd', '|]', 'once');
case 5
str = regexprep(str, 'e', '3', 'once');
case 6
str = regexprep(str, 'f', '|#', 'once');
case 7
str = regexprep(str, 'g', '6', 'once');
case 8
str = regexprep(str, 'h', '|-|', 'once');
case 9
str = regexprep(str, 'i', '!', 'once');
case 10
str = regexprep(str, 'j', '_/', 'once');
case 11
str = regexprep(str, 'k', '|{', 'once');
case 12
str = regexprep(str, 'l', '1', 'once');
case 13
str = regexprep(str, 'm', '|\/|', 'once');
case 14
str = regexprep(str, 'n', '/\/', 'once');
case 15
str = regexprep(str, 'o', '[]', 'once');
case 16
str = regexprep(str, 'p', '|*', 'once');
case 17
str = regexprep(str, 'q', '9', 'once');
case 18
str = regexprep(str, 'r', '|2', 'once');
case 19
str = regexprep(str, 's', '$', 'once');
case 20
str = regexprep(str, 't', '+', 'once');
case 21
str = regexprep(str, 'u', '|_|', 'once');
case 22
str = regexprep(str, 'v', '\/', 'once');
case 23
str = regexprep(str, 'w', '\X/', 'once');
case 24
str = regexprep(str, 'x', '%', 'once');
case 25
str = regexprep(str, 'y', '¥', 'once');
case 26
str = regexprep(str, 'z', '2', 'once');
end
O = str;
%fprintf('%s(%i)', str(i), randomNum);
end
お勧めはありますか?
私はあなたが代替品を選択することを決定する方法を理解していませんか?簡単な入力と期待される出力をここに表示できますか? –
私が使用するには、この機能をハードコーディング 'STR =「こんにちはworld''しかし、あなたは難読化を実行したときの引数を受け入れるために、' STR = S'にそれを変更することができます(」あなたの文章がここ ')しました。要求に応じて、この関数を 'hello world'に実行すると、ランダムなので異なる結果が得られます。一つの可能な結果は次のとおりです。 '| - | 3llo W [] RLD' ' – theflarenet
すべての「」に変更されないようにOK ...「@「'にどのように「こんにちは世界のすべてではない」とは何かを持っていません「? –