创建一个谷歌的reCAPTCHA“安全令牌”谷歌允许你创建一个“安全令牌”的验证码,这意味着你可以使用跨多个域相同的密钥/秘密。无需为您关注的每个域创建关键/秘密。ColdFusion的
这里是他们的文档,你可以看到它有令牌是如何比an example in Java加密等没有洞察。我的问题是如何写在ColdFusion中。我已经对它进行了4个小时的破解,但却无法实现。其他的例子我查看:
任意ColdFusion加密大师的那里知道如何做到这一点?
UPDATE
感谢利,认为我们一起,但仍然看到 '无效stoken' 进一步是。下面是我有:
json_token = '{"session_id":"#createUUID()#","ts_ms":#dateDiff("s", dateConvert("utc2Local", "January 1 1970 00:00"), now())#}';
secret_key_hash = hash(secret_key,"SHA", "UTF-8");
secret_key_binary = binaryDecode(secret_key_hash, "hex");
secret_key_aes = arraySlice(secret_key_binary,1,16);
secret_key_base64 = binaryEncode(javacast("byte[]", secret_key_aes), "base64");
secure_token = Encrypt(json_token,secret_key_base64,"AES/ECB/PKCS5Padding",'base64');
我们使用基于Java 1.7的ColdFusion 9,arraySlice方法不可用或底层Java .subList()。所以我们使用cflib.org的arraySlice UDF。
我也看到了关于URL的PHP实现编码的意见,所以我也试过这个结尾,没有影响:
secure_token = Replace(secure_token,"=","","ALL");
secure_token = Replace(secure_token,"+","-","ALL");
secure_token = Replace(secure_token,"/","_","ALL");
虽然这是一个有趣的问题,但考虑到范围 - 它很可能被封闭为“太宽泛”。你能告诉我们你试过的是什么,特别是哪一部分难以翻译或遇到问题? – Leigh
重新阅读你的问题后,你只是问如何加密?因为这是一个更窄的问题。简而言之,它只是标准的AES加密密钥的轻微操纵。请参阅[我的回复](http://stackoverflow.com/a/33931276/104223)。尽管将来,请包括您在问题中尝试过的代码。这将有助于澄清这个问题(并且可能避免它被封为“太宽泛”)。 – Leigh