創建一個谷歌的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