首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#与PHP的bin2hex()相反。

C#与PHP的bin2hex()相反。
EN

Stack Overflow用户
提问于 2011-09-17 02:52:49
回答 2查看 4.3K关注 0票数 2

可能重复:

How do you convert Byte Array to Hexadecimal String, and vice versa, in C#?

Convert hex string to byte array

我正在用PHP加密一个字符串,我想使用C#解密这个字符串。加密函数的最后一行将返回加密字符串的十六进制表示形式。然而,对我来说,不幸的是,我不知道如何通过C#来逆转这种转换。我将在下面发布我的消息来源:

PHP:

代码语言:javascript
复制
echo encrypt('hello'); // Returns '60eb44e27e73ba1d'
function encrypt($string) {
        //Key
        $key = "12345678";

        //Encryption
        $cipher_alg = MCRYPT_TRIPLEDES;

        $iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher_alg,MCRYPT_MODE_ECB), MCRYPT_RAND); 

        $encrypted_string = mcrypt_encrypt($cipher_alg, $key, $string, MCRYPT_MODE_ECB, $iv);
        return bin2hex($encrypted_string);
    }

我遇到的唯一问题是C#中的C#转换--我正在工作的解密函数的其余部分。请随时询问任何进一步的细节。

希望有一些简单的解决方案,我不知道。我很感谢你的回应。

致以敬意,

埃文

EN

回答 2

Stack Overflow用户

发布于 2011-09-17 05:16:54

使用

代码语言:javascript
复制
string hexstr = "60eb44e27e73ba1d";

byte[] R  = (from i in Enumerable.Range(0, hexstr.Length / 2) select Convert.ToByte(hexstr.Substring(i * 2, 2), 16)).ToArray();

MSDN参考资料:

  • http://msdn.microsoft.com/en-us/library/aka44szs.aspx
  • http://msdn.microsoft.com/en-us/library/c7xhf79k.aspx
  • http://msdn.microsoft.com/en-us/library/system.linq.enumerable.range.aspx
  • http://msdn.microsoft.com/en-us/library/bb397926.aspx
票数 2
EN

Stack Overflow用户

发布于 2011-09-17 03:08:50

我在网上找到了一个简单的解决方案..。我不知道这是怎么回事

代码语言:javascript
复制
 public static byte[] StringToByteArray(String hex)
    {
        int NumberChars = hex.Length;
        byte[] bytes = new byte[NumberChars / 2];
        for (int i = 0; i < NumberChars; i += 2)
            bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
        return bytes;
    }

这与PHP的bin2hex函数相反。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7452139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档