)]}'
{"keystone/common/password_hashing.py":[{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2be01996836f35fd3966fd372306cb78ad9675e5","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    return dict(user, password\u003dhash_password(password))"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"def hash_password_compat(password):"},{"line_number":100,"context_line":"    password_utf8 \u003d verify_length_and_trunc_password(password).encode(\u0027utf-8\u0027)"},{"line_number":101,"context_line":"    return passlib.hash.sha512_crypt.using(rounds\u003dCONF.crypt_strength).hash("},{"line_number":102,"context_line":"        password_utf8)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"def hash_password(password):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_3b883b1f","side":"PARENT","line":102,"range":{"start_line":99,"start_character":0,"end_line":102,"end_character":22},"updated":"2018-11-26 17:36:59.000000000","message":"This can be removed, the rest of the code must stay. -2 can be reverted if only this code is removed in the patch.\n\nWe should also add a note indicating we can never remove the sha256 support.","commit_id":"a32c596980a6c489849c99ab856c982a2d6b5d28"}]}
