我对它很好奇,其实我想知道在php中实现它的最有效方法是什么。
例如,将ThisIsASampleText
转换为dhiandt47hes8
,其中第一个字母与第二个字母相关
我的重要目标是速度。
答案 0 :(得分:0)
这应该有效:
// define encoding, make sure every character is unique
$STRAIGHT = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
$GARBLED = ')OCD[89nopH#JK{Mab%de?fgUVWq*stPQ!x(z01EFh]j}lm$623.RSTGXYZABuvw4';
// test
$str = 'ThisIsASampleText';
// encode
$encoded = strtr($str,$STRAIGHT,$GARBLED);
echo $encoded.'<br>';
// decode
$str = strtr($encoded,$GARBLED,$STRAIGHT);
echo $str;
确保您需要的所有字符都在定义字符串中。我不确定是否有更快的解决方案,但这很简单。 不要使用来保护数据,这很简单。