using System;
using System.Text;
using System.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.IO;
namespace GYH
{
    /// <summary>
    /// LeeMD5 密码加密
    /// ::BluceLee::
    /// </summary>
    public class MD5
    {
        public MD5()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }
        public static string MakeMD5(string FPWD)
        {
            byte[] dataOfPwd = (new UnicodeEncoding()).GetBytes(FPWD);
            byte[] hashValueOfPwd = ((HashAlgorithm)CryptoConfig.CreateFromName("MD5")).ComputeHash(dataOfPwd);
            return BitConverter.ToString(hashValueOfPwd);
        }    }
    /// <summary>
    /// 加密 按照公钥与私钥加密
    /// </summary>
    public static class MakeKey
    {        public static string ToMakeKey(String Value)
        {
            ICryptoTransform ct;
            MemoryStream ms;
            CryptoStream cs;
            byte[] byt;
            SymmetricAlgorithm mCSP = new DESCryptoServiceProvider();            //ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);
            ct = mCSP.CreateEncryptor(Convert.FromBase64String("T31nn6M4H1M="), Convert.FromBase64String("+h2/H5r7juk="));
            byt = Encoding.Default.GetBytes(Value);            ms = new MemoryStream();
            cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
            cs.Write(byt, 0, byt.Length);
            cs.FlushFinalBlock();            cs.Close();            return Convert.ToBase64String(ms.ToArray());
        }
    }
    public static class GetOutKey
    {        public static string ToGetOutKey(String Value)
        {
            ICryptoTransform ct;
            MemoryStream ms;
            CryptoStream cs;
            byte[] byt;
            SymmetricAlgorithm mCSP = new DESCryptoServiceProvider();
            ct = mCSP.CreateDecryptor(Convert.FromBase64String("T31nn6M4H1M="), Convert.FromBase64String("+h2/H5r7juk="));
            byt = Convert.FromBase64String(Value);            ms = new MemoryStream();
            cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
            cs.Write(byt, 0, byt.Length);
            cs.FlushFinalBlock();            cs.Close();            return Encoding.Default.GetString(ms.ToArray());
        }
    }
}上面是。NET的函数 这个如何改成PHP的函数?