Như tiêu đề, khi tôi đổi mật khẩu trên các app ví dụ như App Store hay Netflix chúng đều bảo tôi là không được dùng mật khẩu cũ. Làm sao họ biết mật khẩu cũ của tôi dù không lưu trữ nó?
_____________________
Họ lưu trữ hash của mật khẩu của bạn.
Về cơ bản, nếu mật khẩu của bạn là “password123”, họ sẽ cho chúng vào một loạt các thuật toán được tiêu chuẩn hoá để đưa ra giá trị hash như kiểu “456732543672”. Bạn không thể chuyển từ hash sang mật khẩu nhưng khi bạn nhập mật khẩu, máy sẽ kiểm tra xem hash của mật khẩu bạn vừa nhập có trùng với mật khẩu của bạn không.
>u/PvtPill (1 point)
Không thể dùng code để chuyển từ hash sang mật khẩu à?
>>u/bal00 (1 point – x4 silvers – x7 helpful – x7 wholesome)
Những thuật toán này là đường một chiều vì chúng phá huỷ thông tin đó trên đường đi rồi.
Như kiểu tổng của các số vậy. Nếu tôi bảo tổng các số tôi chọn là 192 thì bạn không thể đoán ra những số đó là số nào.
>>>u/gazeebo88 (1 point)
Vậy trên lý thuyết là các mật khẩu khác nhau vẫn có thể có giá trị hash giống nhau đúng không?
Như kiểu
10+180+2 = 192
5+180+7 = 192
190+2 = 192
>>>>u/bal00 (1 point)
Đúng. Tuy nhiên những thuật toán hash được sử dụng sẽ khiến điều đó gần như là không xảy ra (nhưng không phải không thể)
_____________________
u/redfusion (1 point)
ELI5
Mật khẩu của bạn như kiểu một khay lớn gồm nhiều màu sắc khác nhau vậy. Những người làm web lấy những màu mà bạn chọn, đôi khi phối thêm chút màu của họ nữa, rồi pha chúng với nhau.
Sau đó họ đánh dấu tên bạn với cái màu vừa được pha và giữ nó an toàn, rồi lại làm sạch cái khay để không ai biết màu vừa được chọn là gì.
Lần tới bạn truy cập website, bạn sẽ đưa ra một danh sách màu sắc và chúng sẽ được lặp lại như trên rồi đem so sánh với màu mà web lưu trữ. Nếu chúng giống nhau, bạn sẽ đăng nhập được.
Có những nơi giữ các màu được pha cũ của bạn nên khi bạn đổi mật khẩu, họ sẽ biết bạn nhập mật khẩu cũ hoặc hết hạn.
_____________________
u/DONOTTRUSTASNAIL (1 point)
Nhớ cảnh này trong The Simpsons không? Hãy nghĩ bạn là Skinner còn bóng của anh ấy là mật khẩu của bạn – được lưu trữ như một ‘hash’ như những người khác đã giải thích trong thread này. Các công ty chỉ lưu trữ ảnh bóng của Skinner (mấy cái hình trên tường đó). Bạn gần như không thể tạo lại ảnh của Skinner chỉ từ ảnh bóng ấy. Nhưng nếu so hình Skinner với cái bóng, các đường nét sẽ trùng khớp với nhau và công ty sẽ biết đó là anh ta mà không cần có ảnh thật.
_____________________
Dịch bởi Nguyễn Linh