0
看到凱撒密碼的Java getBytes()函數,我正在考慮將此功能克隆到PHP的可能性。PHP。按字節瀏覽字符串。
在Java函數是:
private static final SHIFT_LENGTH = 0x3;
public static String encode(String str)
{
str = "teststring";
byte[] bytes = str.getBytes("UTF8");
for (int i=0; i < bytes.length; ++i)
{
bytes[i] = bytes[i] + SHIFT_LENGTH;
}
// Base-64 encode
return new BASE64Encoder().encode(bytes);
}
該函數應的字符串中添加三到每個字節,然後基64編碼它。我已經嘗試了一堆的變化在PHP中,如下所示:
function encode_php($str)
{
$str = utf8_encode("teststring");
$new_str = '';
for ($i = 0; $i < strlen($str); $i++) {
$new_str .= ord($str[$i])+3;
}
return base64_encode($new_str);
}
我顯然缺少編碼或如何處理單個字節在PHP方面的東西,但我不知道是什麼。我試過使用dechex()和bin2hex()來混淆編碼,但不能得到匹配的結果。有任何想法嗎?
+1:我打賭的'$ new_str'輸出的ASCII數字串。 ;-) – Herbert 2012-01-17 10:11:36
哦,呃。是。謝謝! – NChase 2012-01-17 19:56:45