请问那位朋友可以帮忙把这 2 个 c# 方法,给转成 PHP5.5 的方法吗?谢谢。

2015-08-30 04:32:22 +08:00
 xjdata

大家好,本人 php 菜鸟一枚,现在正在边工作边学习 php ,遇到一个 c#方法转为 php 方法的问题。实在没办法了,只有发帖求助,还请哪位朋友帮忙,将以下 2 个方法转换为 php 的方法,不胜感激!

当然,我明白,第一天注册,第一个帖子就是索取,这样的行为很被人不齿,但是迫于无奈,还是希望能够得到某位朋友的帮助,谢谢你。

public static string Decrypt (string Text, string sKey )
        {
            DESCryptoServiceProvider provider = new DESCryptoServiceProvider ();
            int num = Text.Length / 2;
            byte[] buffer = new byte[num];
            for (int i = 0; i < num; i++)
            {
                int num3 = Convert.ToInt32 (Text.Substring (i * 2, 2 ), 0x10 );
                buffer[i] = (byte ) num3;
            }
            provider.Key = Encoding.ASCII.GetBytes (FormsAuthentication.HashPasswordForStoringInConfigFile (sKey, "md5").Substring (0, 8 ));
            provider.IV = Encoding.ASCII.GetBytes (FormsAuthentication.HashPasswordForStoringInConfigFile (sKey, "md5").Substring (0, 8 ));
            MemoryStream stream = new MemoryStream ();
            CryptoStream stream2 = new CryptoStream (stream, provider.CreateDecryptor (), CryptoStreamMode.Write );
            stream2.Write (buffer, 0, buffer.Length );
            stream2.FlushFinalBlock ();
            return Encoding.Default.GetString (stream.ToArray ());
        }

 public static string Encrypt (string Text, string sKey )
        {
            DESCryptoServiceProvider provider = new DESCryptoServiceProvider ();
            byte[] bytes = Encoding.Default.GetBytes (Text );
            provider.Key = Encoding.ASCII.GetBytes (FormsAuthentication.HashPasswordForStoringInConfigFile (sKey, "md5").Substring (0, 8 ));
            provider.IV = Encoding.ASCII.GetBytes (FormsAuthentication.HashPasswordForStoringInConfigFile (sKey, "md5").Substring (0, 8 ));
            MemoryStream stream = new MemoryStream ();
            CryptoStream stream2 = new CryptoStream (stream, provider.CreateEncryptor (), CryptoStreamMode.Write );
            stream2.Write (bytes, 0, bytes.Length );
            stream2.FlushFinalBlock ();
            StringBuilder builder = new StringBuilder ();
            foreach (byte num in stream.ToArray ())
            {
                builder.AppendFormat ("{0:X2}", num );
            }
            return builder.ToString ();
        }
2245 次点击
所在节点    PHP
8 条回复
zhuangzhuang1988
2015-08-30 07:37:14 +08:00
这种伸手问题, 给点钱就能解决的.
oott123
2015-08-30 07:51:35 +08:00
200 块我接,俩函数一个 100 块
realpg
2015-08-30 10:50:15 +08:00
楼上太黑了 差评

俩函数打包 160 元,单做一个 90 ……
abelyao
2015-08-30 10:52:34 +08:00
@oott123
@realpg
等楼主收到代码看到就几行,估计要吐血,哈哈
uglyer
2015-08-30 11:10:32 +08:00
楼主明白还来伸手。
crab
2015-08-30 11:38:31 +08:00
你可以发 2 个帖子,第 1 贴问这段 C#是什么意思。第 2 贴问能不能用 PHP 写出这样的功能。
xjdata
2015-08-30 17:12:15 +08:00
解决了。 谢谢各位的热心。
lbp0200
2015-09-06 16:03:29 +08:00
这就是 md5 加解密嘛

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/217038

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX