2011-11-11 125 views
0

我有一个WCF服务,并且我想传递一个SHA1散列字符串作为结果。c调用javascript函数(带参数)#

在客户端,我有一个简单的HTML页面与JavaScript。

我有代码在JavaScript中使SHA1字符串,我想用它为客户端(dehash消息)和服务器(散列消息)。

服务器位于C#中。

那么,是否有可能从C#中调用SHA1 javascript函数?

+0

有没有这样的事情“消除”消息。散列的全部内容是它本质上是单向的。 –

+1

'dehash消息'????散列函数只是一种方法。散列函数的全部目的是为给定的输入提供一个唯一的散列,并且假定散列永远不会获得用于生成散列的输入。 –

+0

另外,你为什么要在服务器上调用JS函数? .Net已经完美地实现了SHA1算法。 –

回答

1

这不,原因有两个意义:

1)你真的不能共享C#与JS代码之间,针对完全不同的目的而创建这些语言,并不能互操作,除非你愿意允许代码生成混乱(如在ASP .NET Web窗体中)。不过,这看起来像是长期受到伤害的DRY的滥用。

2)SHA1是单向算法,没有办法对已编码的字符串进行去散列处理(这里不会说话rainbow tables)。你正在使用错误的工具来完成这项工作。

+0

1)不一定是真实的,http://en.wikipedia.org/wiki/JScript_.NET ...但我同意这不是一个好主意。 –

+0

@Jonas,但是你不能在浏览器中执行JScr​​ipt .NET,所以我们仍然存在互操作性问题,但现在在JS和JScript .NET之间。 (当然,除了JScript .NET从一开始就死的事实。) –

0

你可以在你的HTML页面上放置一个隐藏控件,并将你的散列值放在那个控件中,并从C#访问这个控件。

0

不!但是,您可以将SHA1结果输入到输入并将其发布到服务器。