PHP令牌生成到C#.Net

PHP令牌生成到C#.Net,c#,encryption,openssl,aes,C#,Encryption,Openssl,Aes,我试图将php基本双向加密代码转换为C#代码。我不确定我的c#代码中生成的IV是否正确。我从c#和PHP获得的令牌格式相同,但c#令牌显示无效。请检查我的c#代码,我需要更改任何内容 PHP代码: <?php $encrypted =""; function encryptToken($token) { $cipher_method = 'aes-128-ctr'; $enc_key

我试图将php基本双向加密代码转换为C#代码。我不确定我的c#代码中生成的IV是否正确。我从c#和PHP获得的令牌格式相同,但c#令牌显示无效。请检查我的c#代码,我需要更改任何内容

PHP代码:

 <?php
        $encrypted ="";
        function encryptToken($token)
        {  
            $cipher_method = 'aes-128-ctr';  
            $enc_key = openssl_digest('**********************', 'SHA256', TRUE);  
            $enc_iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($cipher_method)); 
             $crypted_token = openssl_encrypt($token, $cipher_method, $enc_key, 0, $enc_iv) . "::" . 
              bin2hex($enc_iv); 
              unset($token, $cipher_method, $enc_key, $enc_iv);  
              return $crypted_token; 
         }  
        function createAccessToken(){ 

         $now = date("YmdHis");
         $secret = '###################';  
         $plainText = $now."::".$secret;  
         $encrypted = encryptToken($plainText);  
         return $encrypted; 
        } 

        $encrypted = createAccessToken();
    ?>
收到的代币

 PHP Token
 s9kMVUTBLvvjDJNean2kYyEHisYsEQHLQ54+7wV1zHdV1jRsSBFc6PNU0lyZ48VoCjckpm94xEgxKpTRCCXEX8CS/7PYbxZqNBFIZBtZZ3mXnkfA4rvkVEc6XuNXqLGdU3dFxbtWhikAMkHiiUPnPP5hR9UCyj2mAzJqHAwQ1Cn5VkyYWwJEHeyzQR4cwBVr::2e7d77b69ab1185e3d44af142aa6f358

C# token

qFSf2qQ+UHcqAoGUxj43wTO9fLhxfhwf+hYiRKq12amdcICJ6swXvSlV4P1/VYQm6ezNqF+x6LkjMfsxgG1Oyo71+T+mtSs0j5Bmu7eaZr5bDgAMMnZ8WrDKde2fGOgB81Gkj67L/Ka+dT+Ki0j/zsXMN454vqCzdUl0pw91TpwB8UHYni7sMA8JyLgto3Q4::418c68da838e2be51b0e84def5266024

CTR模式!=ECB模式。抱歉,我错过了该代码段。现在,我已将此alsoAes encryptor=Aes.Create()添加到我已检查的问题中;encryptor.Mode=CipherMode.CBC;encryptor.Padding=PaddingMode.PKCS7;encryptor.BlockSize=128;在C#和PHP代码中,您都在生成加密安全的random IV。因为IV是随机的,即使其他所有内容都完全相同并且工作方式完全相同,您也不会得到相同的结果。要进行测试,应在PHP和C#中将IV设置为相同的值。
 PHP Token
 s9kMVUTBLvvjDJNean2kYyEHisYsEQHLQ54+7wV1zHdV1jRsSBFc6PNU0lyZ48VoCjckpm94xEgxKpTRCCXEX8CS/7PYbxZqNBFIZBtZZ3mXnkfA4rvkVEc6XuNXqLGdU3dFxbtWhikAMkHiiUPnPP5hR9UCyj2mAzJqHAwQ1Cn5VkyYWwJEHeyzQR4cwBVr::2e7d77b69ab1185e3d44af142aa6f358

C# token

qFSf2qQ+UHcqAoGUxj43wTO9fLhxfhwf+hYiRKq12amdcICJ6swXvSlV4P1/VYQm6ezNqF+x6LkjMfsxgG1Oyo71+T+mtSs0j5Bmu7eaZr5bDgAMMnZ8WrDKde2fGOgB81Gkj67L/Ka+dT+Ki0j/zsXMN454vqCzdUl0pw91TpwB8UHYni7sMA8JyLgto3Q4::418c68da838e2be51b0e84def5266024