Uh oh!
There was an error while loading. Please reload this page.
Do not use easily-misread glyphs in Firestore auto-IDs. - #4590
Conversation
This way the entropy is preserved after dropping the alphabet from 62 to 55 characters: >>> (62. / 55.)**20 10.979435205204474 >>> 55**20 < 62**20 < 55**21 True
dhermes
commented
Dec 14, 2017
@lukesneeringer This is the 3rd time you or I have sent this PR (once was in a private repo) 😀 The previous two were a no-go because we were waiting for a thumbs up from the Firestore team. |
chemelnucfin
commented
Dec 14, 2017
@lukesneeringer@dhermes My fault. I just thought it has been approved and was just sitting, so I merged it. |
lukesneeringer
commented
Dec 19, 2017
@dhermes This is a pretty minor change. Either merge it or close it and let's move on with our lives. :-) |
| self.assertEqual(result, mock_result) | ||
| mock_calls = [mock.call(_AUTO_ID_CHARS)] * 20 | ||
| mock_calls = [mock.call(_AUTO_ID_CHARS)] * 21 |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This PR removes
{'i', 'I', 'l', 'o', 'O', '0', '1'}from the set of characters used in automatically-generated IDs, because it is easy to mis-read them if you are in a situation where you need to do that.Exact set of blacklisted characters is loaned from Django's
make_random_password./cc @schmidt-sebastian
Was #4107