Вычислить хеш MD5 строки UTF8

У меня есть таблица SQL, в которой я храню большие строковые значения, которые должны быть уникальными. Чтобы обеспечить уникальность, у меня есть уникальный индекс для столбца, в котором я храню строковое представление хеша MD5 большой строки.

Приложение C #, которое сохраняет эти записи, использует следующий метод для хеширования:

public static string CreateMd5HashString(byte[] input)
{
    var hashBytes = MD5.Create().ComputeHash(input);
    return string.Join("", hashBytes.Select(b => b.ToString("X")));
}

Чтобы вызвать это, я сначала конвертируюstring вbyte[] используя кодировку UTF-8:

// this is what I use in my app
CreateMd5HashString(Encoding.UTF8.GetBytes("abc"))
// result: 90150983CD24FB0D6963F7D28E17F72

Теперь я хотел бы иметь возможность реализовать эту функцию хеширования в SQL, используяHASHBYTES функция, но я получаю другое значение:

print hashbytes('md5', N'abc')
-- result: 0xCE1473CF80C6B3FDA8E3DFC006ADC315

Это связано с тем, что SQL вычисляет MD5 представления строки UTF-16. Я получаю тот же результат в C #, если я делаюCreateMd5HashString(Encoding.Unicode.GetBytes("abc")).

Я не могу изменить способ хэширования в приложении.

Есть ли способ заставить SQL Server вычислять хеш MD5 байтов строки UTF-8?

Я искал похожие вопросы, пытался использовать сопоставления, но пока не повезло.