Вы неправильно фиксируете this
, обозначение стрелки не может использовать неявную ссылку this
, избегайте использования с JQuery
:
. Выражение функции стрелки имеет более короткий синтаксис чем выражение функции и не имеет своих собственных this, arguments, super или new.target. Эти функциональные выражения лучше всего подходят для не-методических функций и не могут использоваться в качестве конструкторов.
blockquote>Я переработал ваш код, чтобы он мог работать так, как вы ожидаете:
$("i").click(function() { changeColor($(this)); }); const changeColor = (obj) => { if (!obj.hasClass('clicked')) console.log('not clicked class'); }
.clicked { color: red; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <i class="fas fa-star fa-lg clicked">Button 1</i> <i class="fas fa-star fa-lg">Button 2</i> <i class="fas fa-star fa-lg">Button 3</i>
Просто быстрое обновление, мой коллега решил это:
require "base64"
require "digest"
require "jcode"
def encode_password(password, salt)
bytes = ""
password.each_char { |c| bytes += c + "\x00" }
salty = Base64.decode64(salt)
concat = salty+bytes
sha1 = Digest::SHA1.digest(concat)
encoded = Base64.encode64(sha1).strip()
puts encoded
end
Вы достаточно близки. К сожалению, Ruby не имеет никакой встроенной поддержки unicode в данный момент, и Ваша хеш-функция полагается на него. Существуют обходные решения. Осмотрите сайт о том, как сделать unicode в Ruby. BTW, я думаю, что Вы забыли к base64, декодируют соль, похоже, что функция ASP.net делает это.
Необходимо не закодировать соль для преобразования его назад в, он - представление байта, и затем свяжите это с паролем для получения хешированного значения пароля. Вы используете строку соли кодирования непосредственно (который является другой солью), и таким образом она хеширует к чему-то другому.
require "base64"
require "digest/sha1"
password = "password"
salt = Base64.decode64("1ptFxHq7ALe7yXIQDdzQ9Q==")
concat = salt+password
sha1 = Digest::SHA1.digest(concat)
encoded = Base64.encode64(sha1)
puts encoded