Devo realizzare questa funzione:

http://dc.selwerd.nl/doc/Appendix_A.html

ho tentato ma forse c'è qualche errore:
Codice PHP:
function lock2key($lock) {
    
$key[0] = $lock{0} xor $lock{strlen($lock)-1} xor $lock{strlen($lock)-2} xor 5;
    for (
$i 1$i strlen($lock); $i++) {
        
$key[$i] = $lock{$i} xor $lock{$i-1};
        for (
$i 0$i strlen($lock); $i++) {
            
$key[$i] = (($key[$i]<<4) & 240) | (($key[$i]>>4) & 15);
        }
    }
    return 
$key;