Неверный Ха sh, возвращенный из functions.storage.ObjectMetadata.md5Hash - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть облачная функция, которая создает новый документ в firestore после завершения облачной сборки.

    export const onNewFirmwareBuild = functions.storage.bucket(FIRMWARE_BUCKET).object().onFinalize(async (object) => {

    await admin.firestore()
        .collection('products').doc(PRODUCT)  
        .collection('firmware').add({
            fullname: object.name,
            md5Hash: object.md5Hash
        });
  );

Значение ha sh равно:

c / 9 / vkntQHBsRhRA7r + l1w ==

Недопустимо md5Ha sh, поскольку оно не имеет 128 бит и содержит недопустимые символы.

Однако ha sh является правильным в артефактах. json.

Почему значение ha sh неверно? Есть ли обходной путь или простой способ взять ha sh из. json и добавить его в документ?

1 Ответ

1 голос
/ 06 февраля 2020

вы получаете необработанное MD5 (без шестнадцатеричного значения), закодированное в base64 вашего файла.

Необходимо для декодирования вашего ха sh и преобразования декодированной строки в шестнадцатеричное значение, например

Md5 from google
"c/9/vkntQHBsRhRA7r+l1w==" 

decoded and hex value:
"73ff7fbe49ed40706c461440eebfa5d7"

Я использовал этот рецепт CyberChef для преобразования MD5 base64

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...