반응형
has_secure_password는 어떤 형태의 솔팅을 사용합니까?
has_secure_password
암호화 된 비밀번호를 데이터베이스에 저장하는 데 사용하고 싶습니다 . has_secure_password
어떤 형태의 염장을 사용 하면 인터넷에서 찾을 수 없습니다 . 소금을 사용하는 경우 어떻게 작동합니까? 누구든지 나를 위해 이것을 명확히 할 수 있습니까?
Thijs
has_secure_password
bcrypt-ruby를 사용합니다 . bcrypt-ruby
자동으로 소금 저장 및 생성을 처리합니다. 의 일반적인 해시는 bcrypt-ruby
다음과 같습니다 $2a$10$4wXszTTd7ass8j5ZLpK/7.ywXXgDh7XPNmzfIWeZC1dMGpFghd92e
.. 이 해시는 다음 함수를 사용하여 내부적으로 분할됩니다.
def split_hash(h)
_, v, c, mash = h.split('$')
return v, c.to_i, h[0, 29].to_str, mash[-31, 31].to_str
end
예제 해시의 경우이 함수는 다음을 생성합니다.
- 버전 : 2a
- 비용 : 10
- 소금 : $ 2a $ 10 $ 4wXszTTd7ass8j5ZLpK / 7.
- 해시 : ywXXgDh7XPNmzfIWeZC1dMGpFghd92e
==
의 α- 함수 BCrypt::Password
추출 소금은 전달 된 문자열에 적용 :
BCrypt::Password.create('bla') == 'bla' # => true
참고 URL : https://stackoverflow.com/questions/10139954/does-has-secure-password-use-any-form-of-salting
반응형
'programing tip' 카테고리의 다른 글
Vinay Deolalikar가 P! = NP라는 증거를 설명하십시오. (0) | 2020.11.12 |
---|---|
mysql과 mysql2 gem의 차이점 (0) | 2020.11.12 |
“MapHttpRoute”와“MapRoute”의 차이점은 무엇입니까? (0) | 2020.11.12 |
Swift에서 Objective-C #define을 사용하는 방법 (0) | 2020.11.12 |
제어 구성 요소와 제어되지 않는 구성 요소는 무엇입니까? (0) | 2020.11.12 |