简体   繁体   English

将 C# AES 加密代码转换为 php

[英]convert C# AES encryption code to php

This is my c# code i have to convert this to php.这是我的 c# 代码,我必须将其转换为 php。 out put of this code is FblN3XOgPFBhPbALglniBw== so it should be same in php I have tried but wired please help这段代码的输出是 FblN3XOgPFBhPbALglniBw== 所以它在 php 中应该是一样的我已经尝试过但是有线请帮忙

EncryptAes("999002:GuestCSL", "FREO2016"); 
public static byte[] EncryptAes(string input, string key)
    {
        var keyArray = HashSha256(key);
        var toEncryptArray = Encoding.ASCII.GetBytes(input);

        byte[] result;

        using (var aes = new AesCryptoServiceProvider
        {
            Key = keyArray,
            Mode = CipherMode.ECB,
            Padding = PaddingMode.PKCS7
        })
        {
          var cTransform = aes.CreateEncryptor();
          result = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
            aes.Clear();
        }
        return result;
    }

    static byte[] HashSha256(string phrase)
    {
        var encoder = new UTF8Encoding();
        var sha256Hasher = new SHA256CryptoServiceProvider();
        var hashedDataBytes = sha256Hasher.ComputeHash(encoder.GetBytes(phrase));
        return hashedDataBytes;
    }
<?php
  $key = hash('sha256', "key here", true);  
  $text = "username:password";


  function pkcs7_pad($text, $blocksize)
  {
       $pad = $blocksize - (strlen($text) % $blocksize);
       return $text . str_repeat(chr($pad), $pad);
  }

  $input = pkcs7_pad($text, 16);

  echo  base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $input,  MCRYPT_MODE_ECB)); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM