Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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# MVC WebAPI参数加密_C#_Asp.net Mvc 3_Encryption_Access Token - Fatal编程技术网

C# MVC WebAPI参数加密

C# MVC WebAPI参数加密,c#,asp.net-mvc-3,encryption,access-token,C#,Asp.net Mvc 3,Encryption,Access Token,我试图弄清楚如何为MVC3 WebAPI加密和解密数据。情况是: 我正在做一个反馈应用程序,其中有用户注册和用户可以注册项目。 项目必须用作反馈外键(我的意思是反馈必须分配给特定的项目)。 问题是:我应该如何加密项目Id(它将是GUID)并在服务器端解密它。我应该使用MD5+盐吗。我应该用什么做盐?也许是时间戳,但我该如何传递这个时间戳呢?嗯,不知道从哪里开始,做什么。任何帮助都将不胜感激。 注意:访问API方法不需要授权,我需要传递secret参数(作为密钥)。如果不使用身份验证来调用Web

我试图弄清楚如何为MVC3 WebAPI加密和解密数据。情况是: 我正在做一个反馈应用程序,其中有用户注册和用户可以注册项目。 项目必须用作反馈外键(我的意思是反馈必须分配给特定的项目)。 问题是:我应该如何加密项目Id(它将是GUID)并在服务器端解密它。我应该使用MD5+盐吗。我应该用什么做盐?也许是时间戳,但我该如何传递这个时间戳呢?嗯,不知道从哪里开始,做什么。任何帮助都将不胜感激。
注意:访问API方法不需要授权,我需要传递secret参数(作为密钥)。

如果不使用身份验证来调用Web API方法,则可以使用共享的秘密密码加密数据。是常用的对称密钥算法,用于加密/解密您可以使用的数据。这假定客户端和服务器必须共享一个公共机密


MD5是一种散列(单向)算法。它不是一种加密算法。MD5散列的全部思想是它不能被逆转。

您可能只需要一个HTTPS?Body和HTTPS中的参数。为什么要重新发明轮子

我已经编写了一个开源项目,并在这里记录了它:。也许这会让你走上正确的方向

此解决方案使用API IDAPI secret和UNIX时间戳的MD5散列,并在HTTP头中传递。正如@Darin Dimitrov所述,MD5是一种单向散列,但只要了解一些散列和蛮力技术,就可以反转。有更好的选择,如AES,但这是一个简单的好方法。实际上,此身份验证方法与所使用的相同


参考并包含一个完整的入门工具包,用于创建具有身份验证成员资格API使用计量以及支持.NET EF数据库的API


至于测试这个服务,您可以使用它来执行带有自定义头的HTTP调用,而不是使用Curl。

您可以提供更多的信息,或者是教程吗?我发誓我在谷歌上搜索了几个小时,找不到任何符合我问题的信息