Вы не предоставили мне зашифрованный текст, чтобы можно было это проверить.
Вот что я думаю вам нужно сделать:
В вашем коде C # вам нужно изменить размер блока на 128 бит:
aes.BlockSize = 128;
Итак, пока это должен быть ваш IV:
IV = HWeR102dxMjRHZlxTqL2aA==
Ваш ключ настроен на 256 бит: Итак, вот ключ на 256 бит:
Key = aZUEBKSsYRKA6CGQbwFwvIS8rUnW7YA2hVMNHnnf844=
В C # есть функции, которые автоматически генерируют криптографически стойкую строку для вас определенной длины. Я предлагаю вам найти эти функции и научиться их использовать, чтобы вы могли создавать свои собственные ключи и IV.
Теперь для части PHP.
Вы должны использовать библиотеку OpenSSL вместо библиотеки Mcrypt. Mcrypt устарела и больше не поддерживается. Итак, вот решение OpenSSL.
Поскольку размер блока теперь составляет 128 битов, а размер ключа - 256 битов, теперь он будет совместим с функцией AES-256-CBC
библиотеки openssl.
$key = 'aZUEBKSsYRKA6CGQbwFwvIS8rUnW7YA2hVMNHnnf844='; //256 bit key.
$iv = 'HWeR102dxMjRHZlxTqL2aA=='; //128 bit IV length. The same as the block size that is set in the C#.
function decrypt($string, $key, $iv){
$cipherText = base64_decode($string); //We are going to use raw data.
return openssl_decrypt($cipherText, 'AES-256-CBC', base64_decode($key), OPENSSL_RAW_DATA, base64_decode($iv));
//Note that I did not specify no padding in the function. By default it is PKCS#7 which is what is set in the C# code.
}
Лучшее, что я могу сказать, должно работать на вас. Это предположение основано на том факте, что ваш AES_encrypt()
работает правильно и что на вашей машине установлен OpenSSL. Что вы, вероятно, делаете.
Надеюсь, это поможет!
Вот тест, что я думаю, может поймать достойное количество их. Это использует в своих интересах факт, Вы на самом деле не хотите иметь реальные веб-сайты о Ваших паркуемых доменах. Это ищет wildcarding и субдомена и пути. Позволяет говорят, что у нас есть этот URL в нашей системе
http://www.example.com/method-to-detect-parked.
Сначала я проверил бы фактический URL и хешировал бы его или захватил бы копию для сравнения.
Моя вторая проверка была бы к
http://random.example.com/random
Если это соответствует исходной ссылке или даже успешно выполняется, у Вас есть довольно хороший индикатор, что страница паркуется. Если это перестало работать, я мог бы проверить обоих субдомен и путь индивидуально. Если страница случайным образом изменяет некоторые элементы, можно хотеть выбрать несколько объектов для сравнения. Например, составьте список ссылок, включенных в страницу, и сравните их или возможно тег заголовка.
Я сказал бы, что необходимо будет исследовать записи WHOIS на рассматриваемые сайты и/или фактическое содержание страниц и разработать некоторую эвристику относительно того, что составляет "паркуемую страницу".
Возьмите goooogle.com, смотрение на их запись WHOIS показывает, что они принадлежат "Защите конфиденциальности" и что их серверы DNS являются ns1/ns2.fastpark.net. Если Вы смотрите на источник для сайта, они достаточно глупы иметь файл CSS, названный "style_park.css" :)
В целом, я не думаю, что Вы сможете придумать универсальный способ сделать это. Вы, вероятно, закончите с некоторой когда-либо развивающейся основой правила или черным списком
Вы могли просто полагаться на своих пользователей для "Создания отчетов об этой ссылке"..., который поместит ее в очередь для рассмотрения позже?