Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#和#x27;它与PHP相反';s bin2hex()_C#_Php - Fatal编程技术网

C#和#x27;它与PHP相反';s bin2hex()

C#和#x27;它与PHP相反';s bin2hex(),c#,php,C#,Php,可能重复: 我正在用PHP加密一个字符串,我想用C#解密这个字符串。加密函数的最后一行将返回加密字符串的十六进制表示形式。然而,对我来说不幸的是,我不知道如何通过C#反转这种转换。我将在下面发布我的来源: PHP: 我遇到的唯一问题是C#中的hex2bin转换-我使用的其余解密函数。请随时询问任何进一步的细节 希望有一些简单的解决办法,我不知道。我感谢你的回复 问候, Evan我在网上找到了一个简单的解决方案。。。不知道我是怎么想到这个的: public static byte[] Str

可能重复:

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

PHP: 我遇到的唯一问题是C#中的hex2bin转换-我使用的其余解密函数。请随时询问任何进一步的细节

希望有一些简单的解决办法,我不知道。我感谢你的回复

问候,


Evan

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

 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;
    }
公共静态字节[]StringToByteArray(字符串十六进制)
{
int numbercars=十六进制长度;
字节[]字节=新字节[numbercars/2];
对于(int i=0;i
这与PHP的bin2hex函数相反。

使用

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参考资料:

string hexstr = "60eb44e27e73ba1d";

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