我有一个WCF服务,并且我想传递一个SHA1散列字符串作为结果。c调用javascript函数(带参数)#
在客户端,我有一个简单的HTML页面与JavaScript。
我有代码在JavaScript中使SHA1字符串,我想用它为客户端(dehash消息)和服务器(散列消息)。
服务器位于C#中。
那么,是否有可能从C#中调用SHA1 javascript函数?
我有一个WCF服务,并且我想传递一个SHA1散列字符串作为结果。c调用javascript函数(带参数)#
在客户端,我有一个简单的HTML页面与JavaScript。
我有代码在JavaScript中使SHA1字符串,我想用它为客户端(dehash消息)和服务器(散列消息)。
服务器位于C#中。
那么,是否有可能从C#中调用SHA1 javascript函数?
这不,原因有两个意义:
1)你真的不能共享C#与JS代码之间,针对完全不同的目的而创建这些语言,并不能互操作,除非你愿意允许代码生成混乱(如在ASP .NET Web窗体中)。不过,这看起来像是长期受到伤害的DRY的滥用。
2)SHA1是单向算法,没有办法对已编码的字符串进行去散列处理(这里不会说话rainbow tables)。你正在使用错误的工具来完成这项工作。
1)不一定是真实的,http://en.wikipedia.org/wiki/JScript_.NET ...但我同意这不是一个好主意。 –
@Jonas,但是你不能在浏览器中执行JScript .NET,所以我们仍然存在互操作性问题,但现在在JS和JScript .NET之间。 (当然,除了JScript .NET从一开始就死的事实。) –
你可以在你的HTML页面上放置一个隐藏控件,并将你的散列值放在那个控件中,并从C#访问这个控件。
不!但是,您可以将SHA1结果输入到输入并将其发布到服务器。
有没有这样的事情“消除”消息。散列的全部内容是它本质上是单向的。 –
'dehash消息'????散列函数只是一种方法。散列函数的全部目的是为给定的输入提供一个唯一的散列,并且假定散列永远不会获得用于生成散列的输入。 –
另外,你为什么要在服务器上调用JS函数? .Net已经完美地实现了SHA1算法。 –