Size: a a a

2020 November 11

MA

Mons Anderson in Lua in Moscow
Ilya Chesnokov
Интересная точка зрения... Tell me more - буду использовать как аргументацию, чтобы топить за Perl 😂
Хе-хе :)
Мы "системщину" преподавали на Perl, т.к. вроде-бы и высокоуровнево и не нужно думать про память, а с другой стороны все сисколлы как в C и всё рядом :)
источник
2020 November 12

AK

Andrey Kulikov in Lua in Moscow
Sarcastic Cat
Ура, в опенрести наконец влили runtime sse4.2 detection. Они, правда, так долго это делали, что наверное людей с компами без sse4.2 уже и не осталось
Влили больше двух недель назад, а релиза LuaJIT с этой фичей всё нет как я понимаю. :-(

А компы без SSE4.2 ещё встречаются, даже в серверном сегменте.

Третьего дня заказчик как раз с таким процом на тестовом стенде на падения жаловался. :-(
источник

AK

Andrey Kulikov in Lua in Moscow
А, не, судя по всему в релизе v2.1-20201027 уже есть фича...
источник
2020 November 28

(

(0deHunter in Lua in Moscow
Andrey Kulikov
Влили больше двух недель назад, а релиза LuaJIT с этой фичей всё нет как я понимаю. :-(

А компы без SSE4.2 ещё встречаются, даже в серверном сегменте.

Третьего дня заказчик как раз с таким процом на тестовом стенде на падения жаловался. :-(
у меня как минимум 2 в работе и домашний
источник

(

(0deHunter in Lua in Moscow
но в принципе решение для старых процов есть , но смысл.
источник
2020 December 15

RK

Ruslan Khalikov in Lua in Moscow
привет! проблема в проверке пароля bcrypt sha256 алгоритмом - либа mikejsavage lua-bcrypt - пароль заданный в python django не получается отверифицировать, локализировал проблему - в куске кода timingsafe_bcmp(hash, goodhash, strlen(goodhash)) возвращается ненулевое значение файл compat/bcrypt/bcrypt.c 221-222 строка
источник

SC

Sarcastic Cat in Lua in Moscow
ненулевое значение возвращается потому, что хеши не совпадают. а чтобы узнать, почему они не совпадают - нужен минимальный воспроизводимый пример
источник

RK

Ruslan Khalikov in Lua in Moscow
пароль 12345 хеш из джанги bcrypt_sha256$$2b$12$vMblrveY2XngIC1P7jkk7OQgYRn7In0wFRA6Dr2fwr1C88FCbI6rW
источник

RK

Ruslan Khalikov in Lua in Moscow
return bcrypt.verify(
           password, string.sub(user['password'], string.len('bcrypt_sha256$') + 1)
   )
источник

RK

Ruslan Khalikov in Lua in Moscow
user['password'] хранит хеш (рабочий в джанго)
источник

MA

Mons Anderson in Lua in Moscow
Ruslan Khalikov
привет! проблема в проверке пароля bcrypt sha256 алгоритмом - либа mikejsavage lua-bcrypt - пароль заданный в python django не получается отверифицировать, локализировал проблему - в куске кода timingsafe_bcmp(hash, goodhash, strlen(goodhash)) возвращается ненулевое значение файл compat/bcrypt/bcrypt.c 221-222 строка
Я правильно понимаю, что это демонстрирует ваш пример?
tarantool> bcrypt.digest('12345')
---
- $2b$04$wto3284CiVDgRneb1Y1sAOMVBeNeGyjjrH8cVsu/zHiEkSx6rh3dO
...
tarantool> bcrypt.verify('12345', '$2b$04$wto3284CiVDgRneb1Y1sAOMVBeNeGyjjrH8cVsu/zHiEkSx6rh3dO')
---
- true
...
tarantool> bcrypt.verify('12345', '$2b$12$vMblrveY2XngIC1P7jkk7OQgYRn7In0wFRA6Dr2fwr1C88FCbI6rW')
---
- false
...
источник

RK

Ruslan Khalikov in Lua in Moscow
да
источник

MA

Mons Anderson in Lua in Moscow
Я взял первый попавшийся пример со SO
$ python -c 'import bcrypt; print(bcrypt.hashpw("password", bcrypt.gensalt(log_rounds=10)))'
$2a$10$vWFRZgbOx6RKOKYxCTtyWuMJM60E90Vdm/.0nj.X/o3dYUxvQ/2Dm

и он валидируется ок:
tarantool> bcrypt.verify('password', '$2a$10$vWFRZgbOx6RKOKYxCTtyWuMJM60E90Vdm/.0nj.X/o3dYUxvQ/2Dm')
---
- true
...
источник

SC

Sarcastic Cat in Lua in Moscow
джанга берет sha256 от пароля
источник

SC

Sarcastic Cat in Lua in Moscow
и уже его прогоняет через bcrypt
источник

RK

Ruslan Khalikov in Lua in Moscow
то есть мне надо просто применить sha256 и потом сравнивать?
источник

SC

Sarcastic Cat in Lua in Moscow
да
источник

RK

Ruslan Khalikov in Lua in Moscow
спасибо!
источник

SC

Sarcastic Cat in Lua in Moscow
$ cat test.lua 
local bcrypt = require( "bcrypt" )
local sha = require( "sha512" )

local log_rounds = 12

local digest = bcrypt.digest( sha.sha256('12345'), log_rounds )
print(digest)
print(bcrypt.verify(sha.sha256('12345'), '$2b$12$vMblrveY2XngIC1P7jkk7OQgYRn7In0wFRA6Dr2fwr1C88FCbI6rW'))

$ lua ./test.lua
$2b$12$EW2Q4yFUq4Dn5YbMNKV9q.kpxGByVlAAW7JMywn7jbvSRJYqgls.m
true
источник

RK

Ruslan Khalikov in Lua in Moscow
Всем большое спасибо! @Sarcasticat ты до этого знал или исходники читал джанги?
источник