Действительно ли возможно вычислить хеш MD5 непосредственно на языке T-SQL?

Я испробовал все эти решения, но в Android 6 мне не повезло.
В конце концов я нашел этот фрагмент кода, который работал нормально.

public static void deleteFileFromMediaStore(final ContentResolver contentResolver, final File file) {
    String canonicalPath;
    try {
        canonicalPath = file.getCanonicalPath();
    } catch (IOException e) {
        canonicalPath = file.getAbsolutePath();
    }
    final Uri uri = MediaStore.Files.getContentUri("external");
    final int result = contentResolver.delete(uri,
            MediaStore.Files.FileColumns.DATA + "=?", new String[]{canonicalPath});
    if (result == 0) {
        final String absolutePath = file.getAbsolutePath();
        if (!absolutePath.equals(canonicalPath)) {
            contentResolver.delete(uri,
                    MediaStore.Files.FileColumns.DATA + "=?", new String[]{absolutePath});
        }
    }
}

Я также проверил это в Android 4.4 и 5.1, и он отлично работает.

8
задан Tim Lehner 22 June 2012 в 14:16
поделиться

4 ответа

Он использует этот код, но он не является родным для этого языка.

http://www.codeproject.com/KB/database/xp_md5.aspx

4
ответ дан 5 December 2019 в 13:01
поделиться

В 2005 году и позже вы можете вызывать функцию HashBytes () . В 2000 году ближайшим вариантом является pwdencrypt / pwdcompare , хотя у этих функций есть свои подводные камни (прочтите комментарии к ссылке).

7
ответ дан 5 December 2019 в 13:01
поделиться

Нет, нет собственной команды TSQL для генерации хешей MD5 в SQL Server 2000.

В 2005 году и выше вы можете использовать функцию HashBytes : http://msdn.microsoft.com/en-us/library/ms174415.aspx

2
ответ дан 5 December 2019 в 13:01
поделиться

В md5 нет ничего волшебного, вы можете реализовать его как чистую функцию tsql, если хотите. Не уверен, что в tsql было бы весело, но ничто не должно мешать вам сделать это :)

0
ответ дан 5 December 2019 в 13:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: