Не слушайте этих парней. Вы действительно можете анализировать контекстно-свободные грамматики с регулярным выражением, если вы разбиваете задачу на более мелкие части. Вы можете сгенерировать правильный шаблон с помощью скрипта, который выполняет каждый из этих действий, чтобы:
Я еще не выяснил последнюю часть, но я знаю, что приближаюсь. Мой код продолжает бросать CthulhuRlyehWgahnaglFhtagnException
в последнее время, поэтому я собираюсь передать его на VB 6 и использовать On Error Resume Next
. Я обновлю код, как только я исследую эту странную дверь, которая только что открылась в стене. Хмм.
P.S. Пьер де Ферма также выяснил, как это сделать, но край, который он писал, был недостаточно большим для кода.
Предполагая, что вы будете исправлять такие вещи, как пустой IV & amp; что это доказательство концепции, ваш код выходит из строя, потому что:
Чтобы дублировать вывод в JS:
CryptoJS.pad.NoPadding = {pad: function(){}, unpad: function(){}};
var text = "My Secret text\0\0";
var key = CryptoJS.enc.Hex.parse("253D3FB468A0E24677C28A624BE0F939");
var iv = CryptoJS.enc.Hex.parse("00000000000000000000000000000000");
var encrypted = CryptoJS.AES.encrypt(text, key, {iv: iv, padding: CryptoJS.pad.NoPadding});
console.log(encrypted.toString());
Для:
< blockquote>7StScX3LnPUly / VNzBes0w ==
blockquote>
getBytes
нескольких мест используется различная кодировка. – Tamas Hegedus 16 January 2017 в 15:49var decrypt = CryptoJS.AES.decrypt(encrypted, key, {iv: iv});
– Sergio David Romero 16 January 2017 в 17:06var decrypted = CryptoJS.AES.decrypt(text.toString(), key, {iv: iv}); console.log(decrypted.toString(CryptoJS.enc.Utf8));
– Sergio David Romero 16 January 2017 в 23:12