Как указано, нет ничего невозможного для взлома, вы можете только следовать передовым методам, чтобы сделать это как можно сложнее для любого потенциального злоумышленника.
На самом деле, код, на который вы ссылаетесь, не рассматривается как состояниеискусство больше (если это когда-либо было).Он создает симметричный ключ шифрования путем хеширования пароля.Это плохо, потому что пароли обычно не обладают достаточной энтропией, чтобы противостоять сложным атакам, основанным на словарях.Кроме того, он не использует salt или его эквивалент, поэтому довольно легко атаковать его с помощью предварительно вычисленных таблиц.
Всякий раз, когда вы можете, вы должны генерировать симметричные ключи с защищенным PRNG (генератор псевдослучайных чисел).Если нет особой необходимости привлекать пароли, не делайте этого.Если это обязательно должны быть пароли, используйте PBKDF2 из PKCS5 или альтернативы, такие как bcrypt или scrypt.
IV также всегда следует генерировать из безопасного PRNG и никогда не использовать повторно, если это возможно.Нет необходимости извлекать его и из пароля, как показано в приведенном вами примере.IV является общедоступной информацией, это означает, что вы можете безопасно публиковать ее - но обязательно, чтобы она оставалась непредсказуемой и случайной - в противном случае вы подвержены некоторым выделенным атакам , если вы не используете режим аутентифицированного шифрования, такой как GCM.
Если вы не знакомы с этими темами и сомневаетесь, я настоятельно рекомендую проконсультироваться со специалистами.Если данные, которые нужно защитить, так же важны, как вы говорите, дополнительные деньги должны быть потрачены не зря.Если у вас нет опыта в этой области, вероятность слишком велика, чтобы вы могли упустить из виду что-то важное при создании собственного решения вручную.