Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.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
vb.net中的Google recaptcha v2加密_Vb.net_Encryption_Recaptcha - Fatal编程技术网

vb.net中的Google recaptcha v2加密

vb.net中的Google recaptcha v2加密,vb.net,encryption,recaptcha,Vb.net,Encryption,Recaptcha,我正在尝试实现Google Recaptcha v2的安全令牌版本,我已经成功实现了单站点版本。问题是,我们需要多个域使用相同的密钥进行验证。跟在后面,让我挠头。“加密字符串”区域对于新用户(我)来说有点模糊。我曾尝试使用标准AES加密与我自己的盐,但没有运气,我遇到了错误:无效stoken 在这篇文章中,我得到了一些加密和解密的结果,但我在recaptcha中得到了相同的错误消息 为了尝试和测试加密,我将按照下面的答案进行操作 有人在VB.NET中使用过这个吗?我的代码目前是这两篇文章中的逐块

我正在尝试实现Google Recaptcha v2的安全令牌版本,我已经成功实现了单站点版本。问题是,我们需要多个域使用相同的密钥进行验证。跟在后面,让我挠头。“加密字符串”区域对于新用户(我)来说有点模糊。我曾尝试使用标准AES加密与我自己的盐,但没有运气,我遇到了
错误:无效stoken

在这篇文章中,我得到了一些加密和解密的结果,但我在recaptcha中得到了相同的错误消息

为了尝试和测试加密,我将按照下面的答案进行操作

有人在VB.NET中使用过这个吗?我的代码目前是这两篇文章中的逐块代码,继第二篇文章之后,我得到以下输出:

  • Json:
    {“会话id”:“1”,“ts_ms”:1437712654577}

  • 网站机密:
    3330MOTAAA333XFM388ZN66IPTJODQGREFZAGQZ

  • 加密:
    ly32wglavkywbdbiip5irhdzmcaee1077rjq1sq17uznoj1smvbqvipj3mgi32d

您可以看到加密的格式已关闭,至少从SO帖子中建议的内容可以看到


干杯

我在这里创建了一个Recaptcha V2安全令牌交换的工作示例:


它是用C#编写的,但您可以使用最喜欢的联机C#到VB.NET代码转换器将其转换为VB。

我在这里创建了一个Recaptcha V2安全令牌交换的工作示例:


它是用C#编写的,但是你可以使用你最喜欢的在线C#到VB.NET代码转换器将它翻译成VB。

这是一个救命稻草,它不仅可以工作,而且工作得非常好。谢谢你,你回答。我确实有一个问题,您是否简单地重写了他们在C#中提供的Java代码?他们关于加密的文档充其量也很脆弱。是的,他们的java代码是主要参考,因为目前没有其他关于安全令牌的.NET参考。需要注意的一点是,GUID会话代码是在每次页面加载时创建的,因为它需要在每个验证码请求中都是唯一的,正如谷歌有限的文档所述。感谢您提供的见解,我相信这篇文章将对其他人有所帮助。我遇到了您的示例。干得好!同意谷歌文档应该更清晰一些。提及以下内容会很有帮助-嘿,您需要提取前16个字节的原因是为了创建一个有效的AES密钥,即128位(SHA1哈希的完整20字节/160位不是有效的大小);-)。请注意,
IV
可能不是必需的。IIRC,
IV
在使用ECB模式时被忽略。这是一个救生装置,它不仅工作正常,而且工作得非常好。谢谢你,你回答。我确实有一个问题,您是否简单地重写了他们在C#中提供的Java代码?他们关于加密的文档充其量也很脆弱。是的,他们的java代码是主要参考,因为目前没有其他关于安全令牌的.NET参考。需要注意的一点是,GUID会话代码是在每次页面加载时创建的,因为它需要在每个验证码请求中都是唯一的,正如谷歌有限的文档所述。感谢您提供的见解,我相信这篇文章将对其他人有所帮助。我遇到了您的示例。干得好!同意谷歌文档应该更清晰一些。提及以下内容会很有帮助-嘿,您需要提取前16个字节的原因是为了创建一个有效的AES密钥,即128位(SHA1哈希的完整20字节/160位不是有效的大小);-)。请注意,
IV
可能不是必需的。IIRC,
IV
在使用ECB模式时被忽略。我希望你发布的网站秘密不是真实的。。。被称为“秘密”是有原因的。不,这是一个测试帐户,我无论如何都应该更改它。我希望你发布的网站秘密不是真实的。。。它被称为“秘密”是有原因的。不,这是一个测试帐户,我无论如何都应该更改它。