我正在使用PHP的mcrypt库和 AES-256(rijndael)算法,它需要运行密钥+初始化向量.
我的逻辑思维并不是真的与此同时存在.不只是一个关键吗?
理论场景:
如果我将加密的敏感数据存储在数据库中,只有所有者应该能够解密,那么将用户哈希密码用于他或她的数据的密钥或初始化向量是否合适?
密钥应该被认为比初始化向量更私密还是反过来?
如果我有一个显示一系列英文字符的验证码怎么办?不会说英语的人难以解释和/或输入这些字符吗?如果是这种情况,那么国际化验证码的最佳解决方案是什么?
是否有公共/政府网络服务,我可以打电话来了解特定年份的国定假日?(对于美国和/或世界上任何国家.)
编辑:有没有人有一套公式来计算美国假期?(如果有选择,C#将是我选择的语言.)
假设您有一个JavaScript小部件,当且仅当用户想要点击它时,才需要向您的Web应用程序发出请求.您不希望此请求容易受到CSRF的攻击,因此您可以向页面编写iframe.根据原始继承规则,父站点将无法读取CSRF令牌.然而,点击劫持(或像劫持)呢?由于CSRF,你必须在iframe中,而x-frame-options无法帮助,对于帧破坏者也是如此.
在加载小部件后,攻击者将在iframe中应用SVG掩码.此掩码将使iframe不可见.此时,攻击者可以将iframe的大小调整为页面大小,也可以使iframe跟随游标不可见.无论何时用户点击页面上的任何位置,iframe都会收到点击事件及其游戏结束.
所以有一个二元性,似乎你陷入了CSRF和Clickjacking之间.什么是这个问题的最佳解决方案(如果有的话)?
我想使用经过身份验证的加密方案(如AES-GCM)加密Node.js中的某些数据.
如果我运行以下示例代码
app.get("/test", function(req,res) {
var key = "12345678901234567890123456789012";
var iv = "123456789012";
var cipher = crypto.createCipheriv("id-aes256-GCM",key.toString("binary"),iv.toString("binary"));
var decipher = crypto.createDecipheriv("id-aes256-GCM",key.toString("binary"),iv.toString("binary"));
console.log(decipher.update(cipher.update("bla")));
console.log(decipher.update(cipher.final()));
console.log(decipher.final());
});
Run Code Online (Sandbox Code Playgroud)
我没有得到控制台输出,但错误消息"TypeError:DecipherFinal失败".如果我使用密码AES-256-CTR而不是"id-aes256-GCM",此代码工作正常并在控制台上打印"bla".
我究竟做错了什么?
编辑:
进一步调查显示,cipher.update("bla")返回"â"(单个字符......奇怪)和cipher.final()返回一个空字符串.我认为这不能是一个正确的密文,至少应该有明文的大小......
我只是有一个网站来管理,但我不太确定前一个人写的代码.我正在粘贴下面的登录程序,您能看看并告诉我是否存在任何安全漏洞?乍一看,似乎可以通过SQL注入或操纵cookie和?m =参数进入.
define ( 'CURRENT_TIME', time ()); / / Current time. define ( 'ONLINE_TIME_MIN', (CURRENT_TIME - BOTNET_TIMEOUT)); / / Minimum time for the status of "Online". define ( 'DEFAULT_LANGUAGE', 'en'); / / Default language. define ( 'THEME_PATH', 'theme'); / / folder for the theme. / / HTTP requests. define ( 'QUERY_SCRIPT', basename ($ _SERVER [ 'PHP_SELF'])); define ( 'QUERY_SCRIPT_HTML', QUERY_SCRIPT); define ( 'QUERY_VAR_MODULE', 'm'); / / variable contains the current module. define ( 'QUERY_STRING_BLANK', QUERY_SCRIPT. '? m ='); / / …
对于那里的任何专家来说,这只是一个简单的问题.我有一个网站,允许用户通过消息进行交互,并注册您只需输入用户名和密码,验证您的年龄,并可选择添加电子邮件.我想没有任何敏感信息.是否值得使用https.它会阻止会话翘起并且会阻碍性能吗?
我正在使用gmail,但我需要在访问第一个网页时输入代理密码.密码是从浏览器内部询问的.我从代理收到证书,我必须接受该证书才能使Internet连接正常工作.
在这种情况下,可以跟踪gmail和浏览器之间的HTTPS连接吗?
这将有点难以解释,但我会尽我所能.
有一个网站在每个页面上都有用户名/密码字段的登录表单.这些页面未使用SSL.用户填写用户名/密码并提交表单后,表单将被发送到认证页面https.
我对这种情况有几个疑问.
非常感谢您的帮助!
都会
结论
好吧,所以在考虑了一段时间之后我决定只做整件事https.@Mathew + @Rook,你的答案都很棒,我认为你们都很重要.如果我处于不同的情况,我可能会采用不同的方式,但这是我制作整个事情的原因https.
是否有任何可以加密数据的javascript函数:例如我想在我的URL中使用加密数据由ajax GET请求传递,
http://sample.com/mypage/TDjsavbuydksabjcbhgy
Run Code Online (Sandbox Code Playgroud)
其中TDjsavbuydksabjcbhgy的加密数据相当于12345.现在我想通过解密来检索PHP中的数据,以便我可以使用12345.
可能吗?或任何关于如何做到这一点的建议.
提前致谢.
security ×9
cryptography ×6
encryption ×5
php ×4
https ×3
javascript ×3
browser ×2
captcha ×1
clickjacking ×1
egovernment ×1
express ×1
hash ×1
mcrypt ×1
node.js ×1
web-services ×1
widget ×1