Чтобы ответить на мой собственный вопрос:
Часть моей системы шифрует и дешифрует пароли (например, случайный в вопросе).При тестировании моего решения с OpenPGP.js строка, возвращаемая из операции дешифрования (после шифрования) случайным образом, не полностью совпадает с исходной строкой (возможно, одна из десяти).
Это говорит о том, что OpenPGP.js не сериализуетсяили правильно десериализовать UTF-8 (или любую кодировку, которую он использует), если его ввод неверен.Я предполагаю, что строки, которые я создаю, являются недействительными Unicode - по крайней мере, в Chrome.
Я работаю, когда я определяю ограниченный известный набор символов, очевидно.
Подводя итог:
String.fromCharCode.apply(null, crypto.getRandomValues(new Uint8Array(32)));
не безопасен в использовании.