Короткий ответ (перед дальнейшим расследованием): нет, это не эквивалентно. Дата (Представляют toParse в виде строки) конструктор эквивалентен методу синтаксического анализа класса Дата (который также удерживается от использования)... И javadoc этого метода требования:
Примечание, что это немного отличается от интерпретации лет меньше чем 100, который используется в SimpleDateFormat.
, Если это - единственное изменение, я предполагаю, что можно продолжить этот путь.
После того, как вы применили что-то вроде XOR, вы получите произвольные двоичные данные - , а не закодированную строку.
Обычный безопасный способ преобразования произвольного двоичного файла в текст должен использовать base64 - не пытайтесь просто создать из него новую строку. Итак, ваш процесс будет выглядеть примерно так:
Затем, когда вам нужно расшифровать ...
new String (data, utf8Charset)
, чтобы вернуть исходную строку. Существуют различные варианты Доступны библиотеки Java base64, такие как этот класс в кодеке Apache Commons . (Вам нужны методы encodeToString (byte [])
и decode (String)
.)
Доступны различные библиотеки Java base64, например этот класс в кодеке Apache Commons . (Вам нужны методы encodeToString (byte [])
и decode (String)
.)
Доступны различные библиотеки Java base64, например этот класс в кодеке Apache Commons . (Вам нужны методы encodeToString (byte [])
и decode (String)
.)
1st of all, don't call XORing encryption. Seriously, the CipherOutputStream and CipherInputStream are there for you if you need to protect your data.
Thanks for stream chaining, you can have DataOutputStream -> CipherOutputStream -> ByteArrayOutputStream. This will get you properly encrypted bytes. Use the reverse APIs on the other end and you'll get your string back.