Информация об изменениях

Сообщение Re: base64 from js download as binary от 23.03.2023 13:27

Изменено 23.03.2023 13:29 Igorxz

Re: base64 from js download as binary
Здравствуйте, vaa, Вы писали:

vaa>Плагин криптопро работает с base64 данными.

vaa>Поэтому подписи и шифр отгружаются клиенту в текстовом формате (enc).
vaa>А хочется в двоичном (p7e). Можно конечно шифр отправлять на сервер и оттуда загружать преобразованный.
vaa>Но может спецы знают как преобразовать данные в браузере?

let create_blob_from_base64String = function (base64String, contentType) {
    const byteCharacters = atob(base64String);
    const byteNumbers = new Array(byteCharacters.length);
    for (let i = 0; i < byteCharacters.length; i++) {
        byteNumbers[i] = byteCharacters.charCodeAt(i);
    }
    const byteArray = new Uint8Array(byteNumbers);
    const blob = new Blob([byteArray], { type: contentType || 'text/json' });
    return (blob);
}


example:
create_blob_from_base64String("TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0"+
"aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1"+
"c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0"+
"aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdl"+
"LCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=")
Re: base64 from js download as binary
Здравствуйте, vaa, Вы писали:

vaa>Плагин криптопро работает с base64 данными.

vaa>Поэтому подписи и шифр отгружаются клиенту в текстовом формате (enc).
vaa>А хочется в двоичном (p7e). Можно конечно шифр отправлять на сервер и оттуда загружать преобразованный.
vaa>Но может спецы знают как преобразовать данные в браузере?

let create_blob_from_base64String = function (base64String, contentType) {
    const byteCharacters = atob(base64String);
    const byteNumbers = new Array(byteCharacters.length);
    for (let i = 0; i < byteCharacters.length; i++) {
        byteNumbers[i] = byteCharacters.charCodeAt(i);
    }
    const byteArray = new Uint8Array(byteNumbers);
    const blob = new Blob([byteArray], { type: contentType || 'text/json' });
    return (blob);
}


example:
create_blob_from_base64String("TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0\n"+
"aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1\n"+
"c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0\n"+
"aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdl\n"+
"LCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=")