Как сгенерировать одинаковый md5 на php и jquery для русского теста?
Потому что кодировка. Приводите данные к одинаковым байтам, думаю этого хватит.
Большинство крипто-либ на js берут байты строки с помощью String.prototype.charCodeAt() которая возвращает код символа в кодировке utf16-LE (родная кодировка для строк в js)
Насколько помню md5 в php работает с однобайтовыми кодировками и использует ту, то прописана в php.ini
Вот отсюда и разница