Php fwrite,fputs字节安全

Php fwrite,fputs字节安全,php,.net,post,fputs,Php,.net,Post,Fputs,我想通过POST将数据发送到php页面,我需要准确地存储字节,但我无法做到这一点。当我发送138字节时,fputs和fwrite返回133 $fh = fopen($myFile, 'ab') or die("can't open file"); echo fputs($fh, $_POST['data'] ,strlen($_POST['data'])); fclosw VB.NET: Dim ar As System.Text.UTF8Encoding = New System.Text.

我想通过POST将数据发送到php页面,我需要准确地存储字节,但我无法做到这一点。当我发送138字节时,fputs和fwrite返回133

$fh = fopen($myFile, 'ab') or die("can't open file");
echo fputs($fh, $_POST['data'] ,strlen($_POST['data']));
fclosw
VB.NET:

Dim ar As System.Text.UTF8Encoding = New System.Text.UTF8Encoding
Request.ContentLength = ar.GetByteCount(PostData)
ContentType = "application/x-www-form-urlencoded"
SW = New StreamWriter(Request.GetRequestStream(), ar)
SW.Write(PostData)
-编辑 这是加密数据函数

Public Function Encrypt(ByVal stringToEncrypt As String, ByVal key As String) As String
    Rijndael.Key = SHA256.ComputeHash(ASCIIEncoding.ASCII.GetBytes(key))
    Rijndael.Mode = CipherMode.ECB
    Dim Buffer As Byte() = ASCIIEncoding.UTF8.GetBytes(stringToEncrypt)
    Return Convert.ToBase64String(Rijndael.CreateEncryptor().TransformFinalBlock(Buffer, 0,  Buffer.Length))
    End Function
编辑 例如,原始加密字符串:

j/aokbSUDP1nAD7KafnDoLSmI93sOLiroTwcQIUS/Xw8eUlUZA58OULXCtsnkKqOe+UXlFP6vKuTIWxVMRBZLiBiIOZomNsvoIfM4dv2UzAk2q5mpjo4/0E9lPvu4I7X
发送后

j/aokbSUDP1nAD7KafnDoLSmI93sOLiroTwcQIUS/Xw8eUlUZA58OULXCtsnkKqOe UXlFP6vKuTIWxVMRBZLiBiIOZomNsvoIfM4dv2UzAk2q5mpjo4/0E9lPvu4I7X

我看不出这有什么不起作用的原因:

$connection = fopen($file, 'ab');
fwrite($connection, urldecode($_POST['data']));
fclose($connection);

我看不出这有什么不起作用的原因:

$connection = fopen($file, 'ab');
fwrite($connection, urldecode($_POST['data']));
fclose($connection);

如何加密?你能添加一个例子吗?我指的是一个发送数据的例子(只是一个虚构的例子)。为什么要在
fputs
中使用
length
参数?
magic\u quotes\u*
是否打开?两个字符串都只有128字节,而不是如您所述的133或138字节。此外,您的字符串是URL编码的(使用
%20
→ <代码>+,根据
POST
请求规范的要求),它不是被解码为普通字符串吗?为什么它没有自动解码?对不起,两个示例被翻转了,我更正了它们,行尾字符的额外字节是如何加密的?你能添加一个例子吗?我指的是一个发送数据的例子(只是一个虚构的例子)。为什么要在
fputs
中使用
length
参数?
magic\u quotes\u*
是否打开?两个字符串都只有128字节,而不是如您所述的133或138字节。此外,您的字符串是URL编码的(使用
%20
→ <代码>+,根据规范要求(对于
POST
请求),它不是被解码为普通字符串吗?为什么它不是自动解码的?很抱歉,两个示例被翻转了,我更正了它们,行尾字符的额外字节