Skip to content

Instantly share code, notes, and snippets.

@uppfinnarjohnny
Created December 23, 2010 13:20
Show Gist options
  • Save uppfinnarjohnny/752962 to your computer and use it in GitHub Desktop.
Save uppfinnarjohnny/752962 to your computer and use it in GitHub Desktop.
A basic implementation of a Caesar cipher
<?php
function rollover($max, $value) {
return $value < $max ? $value : rollover($max, $value - $max);
}
function caesar_cipher($string, $offset = 3) {
$letter_numbers = array_map('ord', str_split(strtolower($string)));
foreach($letter_numbers as &$number)
if($number >= 97 && $number <= 122)
$number = rollover(25, $number - 97 + $offset) + 97;
return implode('', array_map('chr', $letter_numbers));
}
print caesar_cipher('hejsan hoppsan - jao!');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment