php - 如何在 php 中解码 TripleDESCryptoService 字符串?

标签 php vb.net tripledes

下面的代码在VB中解密一个字符串:

Public Function Desencriptar(ByVal Input As String) As String

        Dim IV() As Byte = ASCIIEncoding.ASCII.GetBytes("abcdefgh") 
        Dim EncryptionKey() As Byte = Convert.FromBase64String("hereGoesTheKey") 
        Dim buffer() As Byte = Convert.FromBase64String(Input)
        Dim des As TripleDESCryptoServiceProvider = New TripleDESCryptoServiceProvider
        des.Key = EncryptionKey
        des.IV = IV
        Return Encoding.UTF8.GetString(des.CreateDecryptor().TransformFinalBlock(buffer, 0, buffer.Length()))

    End Function

我想知道如何将此过程复制到移动应用程序服务的 PHP 脚本中。谢谢。

最佳答案

this code might help.
 <?php
    $key = "123456";
    function pkcs7_pad($text, $blocksize)
    {
        $pad = $blocksize - (strlen($text) % $blocksize);
        return $text . str_repeat(chr($pad), $pad);
    }

    $input = pkcs7_pad("test", 16);//16byte
   // $key = md5(utf8_encode($key), true);
    $td = mcrypt_module_open('tripledes', '', 'ecb', '');//ecb mode
    $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
    mcrypt_generic_init($td, $key, $iv);
    $encrypted_data = mcrypt_generic($td, $input);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);

    echo base64_encode($encrypted_data);
?>

请查看此链接以获取更多详细信息 3DES

关于php - 如何在 php 中解码 TripleDESCryptoService 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36316200/

相关文章:

vb.net - SQL BETWEEN 的 LINQ 等效项

c# - 私有(private)类别中属性(property)的访问级别

java.lang.NoClassDefFoundError : org/apache/commons/codec/binary/Base64 错误

php - 如何将此字符串存储为mysql中的有效json(utf8_encode和htmlentities没有帮助)

php - PHP 运算符 ->{...} 是什么意思?

php - 为什么只向 mysql 数据库插入一列不会在 codeigniter 中显示错误?

asp.net - 如何最好地在 ASP.NET 中填充 HTML 表?

c++ - TripleDes 会改变数据大小吗

encryption - 3DES 关键组件

php - 如何在 PHP 中获取时区的名称和缩写?