Author: Andreas Schildbach 2014-07-15 15:32:59
Published on: 2014-07-15T15:32:59+00:00
In a discussion related to BIP 38 implementation in bitcoinj, the third test vector was questioned as it may be broken. This test vector gives the NFC normalised version of the input string which does not match the results of the Java unicode normaliser. The test string contains non-standard UTF-8 characters that should be NFC normalized. Jeff Garzik replied Unicode guarantees null-terminated strings still work and whitespace can be problematic but should be allowed. Control characters should be filtered but emoticons probably cannot be filtered without substandard approaches such as character blacklists. He further added that all this is standard practice. Eric Winer mentioned that he had not seen the NULL character on any smartphone keyboards, and it seems unlikely that NULL would be in a real-world passphrase entered by a sane user. Mike Hearn proposed to remove this test vector as it does not represent any real world usage of the spec.
Updated on: 2023-06-09T00:56:14.683905+00:00