Ich versuche, eine Nachricht mit CAESAR'S CIPHER zu verschlüsseln und die Verschlüsselung funktioniert auch korrekt. Aber jetzt möchte ich wissen, wie man Leerzeichen und Zahlen in der zu verschlüsselnden Zeichenfolge berücksichtigt.Wie man Räume und Zahlen in Cäsars Chiffre berücksichtigt?
PHP
<?php
//the text to be encrypted
$plain_text='ABC';
echo $plain_text."<br>";
//letters of alphabet array
$alphabet=array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
//positions of the letters in alphabet
$flip=array_flip($alphabet);
//plaintext array
$plain_text=str_split($plain_text);
$n=count($plain_text);
$encrypted_text='';
for ($i=0; $i<$n; $i++){
//encryption
$encrypted_text.=$alphabet[($flip[$plain_text[$i]]+2)%26];
}
echo $encrypted_text;
?>
$ n ist ein String-Zeichen rechts ?, verwenden Sie in_array ($ n, Array ('1', '2', '3', '4', '5', ...)); Das heißt, ich würde deine Reihe von schlechten Charakteren außerhalb der Schleife definieren, dann schaue nur, ob es einer von ihnen ist, oder? – ArtisticPhoenix
Ja $ n ist ein Zeichenfolgenzeichen. Also, wo schlägst du mir vor, th in_array zu benutzen? – Ayan
Nun, ich weiß nicht, was Sie mit ihnen machen wollen, aber Sie können sie finden, indem Sie jeden Charakter gegen eine Reihe von schlechten Zeichen prüfen, also wenn Sie ein if innerhalb der Schleife setzen usw. etc .. wenn Sie mehr Leistung wollen du könntest auch strpos ('123456', $ n) benutzen ... http://php.net/manual/en/function.strpos.php – ArtisticPhoenix