我正在尝试从字符串中获取 Java 中的 MySQL 密码哈希,所以我用谷歌搜索了一下,发现了 MySQL 中的 PASSWORD() 是如何工作的:
SELECT SHA1(UNHEX(SHA1('test')));
Run Code Online (Sandbox Code Playgroud)
给出相同的结果
SELECT PASSWORD('test');
Run Code Online (Sandbox Code Playgroud)
有了这个我继续。
我写了一个将字符串转换为 SHA1 Hash 的方法,它完美地工作(测试了几个不同的字符串,得到与 MySQL 中的 SHA1(str) 相同的结果)
接下来要做的是 UNHEX() 方法。我现在卡住了。
我目前的方法:
public static String toMySQLPasswordHash(String str)
{
String hash1 = toSHA1Hash(str);
String unhexedHash1 = new String(DatatypeConverter.parseHexBinary(hash1));
String hash2 = toSHA1Hash(unhexedHash1);
String passwordHash = "*" + hash2.toUpperCase();
return passwordHash;
}
Run Code Online (Sandbox Code Playgroud)
我的“toSHA1Hash”方法:
public static String toSHA1Hash(String str)
{
MessageDigest md = null;
try
{
md = MessageDigest.getInstance("SHA-1");
}
catch (NoSuchAlgorithmException e)
{
Logger.WriteLog(e.toString());
}
if (md …
Run Code Online (Sandbox Code Playgroud) iframe
我有一个网站,它使用sandbox
-Attribute 设置为来嵌入用户定义的页面allow-scripts
。
嵌入式网站本身也是由我托管的(它来自同一源服务器),但它包含潜在不安全的 Javascript。我不想将allow-same-origin
值添加到sandbox
属性中,因为这会破坏整个目的。
嵌入页面的Content-Security-Policy
标题设置如下:
Content-Security-Policy: style-src 'self' https://example.com/webjars/ https://example.com/css/ 'unsafe-inline' blob:; script-src 'self' https://example.com/webjars/ https://example.com/js/ 'unsafe-eval' 'unsafe-inline' blob:; default-src 'none'; navigate-to 'none'
Run Code Online (Sandbox Code Playgroud)
example.com
我的域名在哪里。
嵌入页面尝试使用以下代码动态添加Javascript/CSS:
Content-Security-Policy: style-src 'self' https://example.com/webjars/ https://example.com/css/ 'unsafe-inline' blob:; script-src 'self' https://example.com/webjars/ https://example.com/js/ 'unsafe-eval' 'unsafe-inline' blob:; default-src 'none'; navigate-to 'none'
Run Code Online (Sandbox Code Playgroud)
这应该是允许的,并且它在 Chrome(桌面/Windows+MacOS)上运行良好。
但是,在 Chrome Mobile (iOS) 和 Safari(MacOS、iOS)上,它拒绝执行 Javascript 和 CSS。在控制台上,弹出以下消息:
[blocked] The page at https://example.com/embedded_page_url was not allowed to run insecure content from blob:null/<uuid>. …
Run Code Online (Sandbox Code Playgroud) 有没有办法按照下面的表格以与写入的顺序相同的方式循环一个表格?
local tbl = {
["hello"] = 1,
[2] = 2,
[50] = 3,
["bye"] = 4,
[200] = 5
}
Run Code Online (Sandbox Code Playgroud)
我的意思是,当我使用"成对"时,每次执行代码时我都会得到不同的顺序......
我正在寻找这样的东西:
function get_keys(tbl)
local rtable = {}
for k,v in pairs(tbl) do
table.insert(rtable, k)
end
return rtable
end
local keys_of_tbl = get_keys(tbl)
for i = 1, table.getn(keys_of_tbl) do
--Do something with: tbl[keys_of_tbl[i]]
end
Run Code Online (Sandbox Code Playgroud)
但是因为函数"get_keys"再次基于"成对",它将无法工作......
有没有办法获得表的每个索引值?
例:
local mytbl = {
["Hello"] = 123,
["world"] = 321
}
Run Code Online (Sandbox Code Playgroud)
我想得到这个:
{"Hello", "world"}
Run Code Online (Sandbox Code Playgroud)