我对这个加密技术还不熟悉,所以我不太确定如何格式化我的问题。
不管怎样,我使用的是名为kohana
的框架,而对于加密,它使用了三种方法:key
,cipher
,mode
所以我的问题是,当它对某些字符串进行编码时,有时我会在这样的加密中得到/
,我不希望这样,所以我的猜测是,我应该更改fclzSev6DVfOk2Z/BSSi4dRYFn4t
,现在是mode
,所以如果我是对的,我必须使用什么模式?
最佳答案
正如francis avila所指出的,加密输出似乎是Base64-encoded,因此除了字母和数字之外,还可能包含斜线和加号(可能在结尾处等于号)。
你可以用其他东西安全地替换这些符号,只要你记得在解码之前把它们换回来。phpstrtr()
function对此很方便。例如,下面是如何将字符串从normal base64转换为rfc 4648 url-safe base64变量并返回:
$url_safe_base64 = strtr( $base64_string, "+/", "-_" );
$base64_string = strtr( $url_safe_base64, "-_", "+/" );