Возможно, ваш ключ содержит недопустимые символы. Обычно это может быть вызвано очень низкими символами ASCII - я считаю, что 0x30 и выше, безусловно, безопасны, а возможно, и 0x20 и выше. Отражая ASCII символьную таблицу , вы можете видеть, что от 0x00 до 0x1F - это в основном специальные символы. 0x20 - 0x2F - «нормальные» символы, но в некоторых справочных материалах, которые я видел, упоминается, что они также могут использоваться в качестве управляющих символов.
Эта проблема вызвала у меня некоторые проблемы; Я решил эту проблему, создав очень уникальный ключ, не обращая внимания на длину, а затем сгенерировав контрольную сумму ключа MD5. Сумма MD5 гарантирует минимальный риск столкновения клавиш, безопасные символы и меньшую длину, чем фактический ключ.