DICA: Codificar em Base64 direto do Prompt.
Enviado: 19 Dez 2024 15:57
Amiguinhos,
Caso precise de forma rápida sem programação codificar um arquivo pelo Prompt do DOS faça uso de uma ferramenta natural do Windows.
O utilitário em questão é o certutil.exe.
Farei um teste básico com um arquivo aleatório:
certutil -unicodetext -encode compose.bat compose.b64
Resultado dentro de compose.b64:
-----BEGIN CERTIFICATE-----
QHNldCBvbGRwYXRoPSVwYXRoJQ0KDQpAc2V0IFBhdGg9QzpcUHJvZ3JhbSBGaWxl
cyAoeDg2KVxFbWJhcmNhZGVyb1xTdHVkaW9cMjIuMFxiaW47QzpcVXNlcnNcUHVi
bGljXERvY3VtZW50c1xFbWJhcmNhZGVyb1xTdHVkaW9cMjIuMFxCcGw7QzpcUHJv
Z3JhbSBGaWxlcyAoeDg2KVxFbWJhcmNhZGVyb1xTdHVkaW9cMjIuMFxiaW42NDtD
OlxVc2Vyc1xQdWJsaWNcRG9jdW1lbnRzXEVtYmFyY2FkZXJvXFN0dWRpb1wyMi4w
XEJwbFxXaW42NDtDOlxQcm9ncmFtIEZpbGVzXEVjbGlwc2UgQWRvcHRpdW1canJl
LTE4LjAuMi4xMDEtaG90c3BvdFxiaW47QzpcV2luZG93c1xzeXN0ZW0zMjtDOlxX
aW5kb3dzO0M6XFdpbmRvd3NcU3lzdGVtMzJcV2JlbTtDOlxXaW5kb3dzXFN5c3Rl
bTMyXFdpbmRvd3NQb3dlclNoZWxsXHYxLjBcO0M6XFdpbmRvd3NcU3lzdGVtMzJc
T3BlblNTSFw7QzpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnQgVlMgQ29kZVxiaW47
QzpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnQgU1FMIFNlcnZlclwxMTBcVG9vbHNc
Qmlublw7QzpcUHJvZ3JhbURhdGFcY2hvY29sYXRleVxiaW47QzpcUHJvZ3JhbSBG
aWxlc1xkb3RuZXRcO0M6XFByb2dyYW0gRmlsZXNcR2l0XGNtZDtDOlxQcm9ncmFt
IEZpbGVzXEdpdFxtaW5ndzY0XGJpbjtDOlxQcm9ncmFtIEZpbGVzXEdpdFx1c3Jc
YmluO0M6XFByb2dyYW0gRmlsZXNcUG93ZXJTaGVsbFw3XDtDOlxQcm9ncmFtIEZp
bGVzXGdzdWRvXEN1cnJlbnQ7QzpcUHJvZ3JhbSBGaWxlc1xub2RlanNcO0M6XFBy
b2dyYW0gRmlsZXNcUHVUVFlcO0M6XFByb2dyYW0gRmlsZXNcRG9ja2VyXERvY2tl
clxyZXNvdXJjZXNcYmluO0M6XFByb2dyYW0gRmlsZXMgKHg4NilcV2luZG93cyBL
aXRzXDEwXFdpbmRvd3MgUGVyZm9ybWFuY2UgVG9vbGtpdFw7QzpcUHJvZ3JhbSBG
aWxlcyAoeDg2KVxXaW5kb3dzIEtpdHNcMTBcTWljcm9zb2Z0IEFwcGxpY2F0aW9u
IFZpcnR1YWxpemF0aW9uXFNlcXVlbmNlclw7QzpcUHJvZ3JhbSBGaWxlcyAoeDg2
KVxXaW5kb3dzIEtpdHNcMTBcQXNzZXNzbWVudCBhbmQgRGVwbG95bWVudCBLaXRc
RGVwbG95bWVudCBUb29sc1xBTUQ2NFxPc2NkaW1nOztDOlxQcm9ncmFtIEZpbGVz
ICh4ODYpXFdpbk1lcmdlO0M6XFByb2dyYW0gRmlsZXNcVG9ydG9pc2VTVk5cYmlu
O0M6XFByb2dyYW0gRmlsZXMgKHg4NilcRVNGRGF0YWJhc2VNaWdyYXRpb25cO0M6
XFVzZXJzXFdpblwuY2FyZ29cYmluO0M6XFVzZXJzXFdpblxBcHBEYXRhXExvY2Fs
XFByb2dyYW1zXFB5dGhvblxQeXRob24zMTJcU2NyaXB0c1w7QzpcVXNlcnNcV2lu
XEFwcERhdGFcTG9jYWxcUHJvZ3JhbXNcUHl0aG9uXFB5dGhvbjMxMlw7QzpcVXNl
cnNcV2luXEFwcERhdGFcTG9jYWxcUHJvZ3JhbXNcUHl0aG9uXExhdW5jaGVyXDtD
OlxVc2Vyc1xXaW5cQXBwRGF0YVxMb2NhbFxNaWNyb3NvZnRcV2luZG93c0FwcHM7
QzpcVXNlcnNcV2luXEFwcERhdGFcTG9jYWxcTWljcm9zb2Z0XFdpbkdldFxMaW5r
cztDOlxVc2Vyc1xXaW5cQXBwRGF0YVxSb2FtaW5nXG5wbTtDOlxVc2Vyc1xXaW5c
RG9jdW1lbnRzXFBvd2VyU2hlbGxcU2NyaXB0cztDOlxVc2Vyc1xXaW5cQXBwRGF0
YVxSb2FtaW5nXENvbXBvc2VyXHZlbmRvclxiaW47QzpcQU1QUFNcQ09NUE9TRVI7
QzpcQU1QUFNcUEhQODENCg0KY2FsbCBjb21wb3NlciBjb25maWcgLS1nbG9iYWwg
LS1hdXRoIGdpdGh1Yi1vYXV0aC5naXRodWIuY29tIGdocF9wQzVuZ2RPNG9NQkRC
VWY1eW85bU8wN3oxZ1c0RlI0Uzk2aXYNCmNhbGwgY29tcG9zZXIgdXBkYXRlIC0t
bm8tc2NyaXB0cw0KDQpAc2V0IHBhdGg9JW9sZHBhdGglDQoNCkBwYXVzZQ==
-----END CERTIFICATE-----
Agora farei o teste básico de descodificação:
certutil -decode compose.b64 compose.d64
Resultado dentro de compose.d64:
@set oldpath=%path%
@set Path=C:\Program Files (x86)\Embarcadero\Studio\22.0\bin;C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl;C:\Program Files (x86)\Embarcadero\Studio\22.0\bin64;C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\Win64;C:\Program Files\Eclipse Adoptium\jre-18.0.2.101-hotspot\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\ProgramData\chocolatey\bin;C:\Program Files\dotnet\;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\PowerShell\7\;C:\Program Files\gsudo\Current;C:\Program Files\nodejs\;C:\Program Files\PuTTY\;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files (x86)\Windows Kits\10\Microsoft Application Virtualization\Sequencer\;C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\AMD64\Oscdimg;;C:\Program Files (x86)\WinMerge;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\ESFDatabaseMigration\;C:\Users\Win\.cargo\bin;C:\Users\Win\AppData\Local\Programs\Python\Python312\Scripts\;C:\Users\Win\AppData\Local\Programs\Python\Python312\;C:\Users\Win\AppData\Local\Programs\Python\Launcher\;C:\Users\Win\AppData\Local\Microsoft\WindowsApps;C:\Users\Win\AppData\Local\Microsoft\WinGet\Links;C:\Users\Win\AppData\Roaming\npm;C:\Users\Win\Documents\PowerShell\Scripts;C:\Users\Win\AppData\Roaming\Composer\vendor\bin;C:\AMPPS\COMPOSER;C:\AMPPS\PHP81
call composer config --global --auth github-oauth.github.com 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
call composer update --no-scripts
@set path=%oldpath%
@pause
Caso precise de forma rápida sem programação codificar um arquivo pelo Prompt do DOS faça uso de uma ferramenta natural do Windows.
O utilitário em questão é o certutil.exe.
Farei um teste básico com um arquivo aleatório:
certutil -unicodetext -encode compose.bat compose.b64
Resultado dentro de compose.b64:
-----BEGIN CERTIFICATE-----
QHNldCBvbGRwYXRoPSVwYXRoJQ0KDQpAc2V0IFBhdGg9QzpcUHJvZ3JhbSBGaWxl
cyAoeDg2KVxFbWJhcmNhZGVyb1xTdHVkaW9cMjIuMFxiaW47QzpcVXNlcnNcUHVi
bGljXERvY3VtZW50c1xFbWJhcmNhZGVyb1xTdHVkaW9cMjIuMFxCcGw7QzpcUHJv
Z3JhbSBGaWxlcyAoeDg2KVxFbWJhcmNhZGVyb1xTdHVkaW9cMjIuMFxiaW42NDtD
OlxVc2Vyc1xQdWJsaWNcRG9jdW1lbnRzXEVtYmFyY2FkZXJvXFN0dWRpb1wyMi4w
XEJwbFxXaW42NDtDOlxQcm9ncmFtIEZpbGVzXEVjbGlwc2UgQWRvcHRpdW1canJl
LTE4LjAuMi4xMDEtaG90c3BvdFxiaW47QzpcV2luZG93c1xzeXN0ZW0zMjtDOlxX
aW5kb3dzO0M6XFdpbmRvd3NcU3lzdGVtMzJcV2JlbTtDOlxXaW5kb3dzXFN5c3Rl
bTMyXFdpbmRvd3NQb3dlclNoZWxsXHYxLjBcO0M6XFdpbmRvd3NcU3lzdGVtMzJc
T3BlblNTSFw7QzpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnQgVlMgQ29kZVxiaW47
QzpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnQgU1FMIFNlcnZlclwxMTBcVG9vbHNc
Qmlublw7QzpcUHJvZ3JhbURhdGFcY2hvY29sYXRleVxiaW47QzpcUHJvZ3JhbSBG
aWxlc1xkb3RuZXRcO0M6XFByb2dyYW0gRmlsZXNcR2l0XGNtZDtDOlxQcm9ncmFt
IEZpbGVzXEdpdFxtaW5ndzY0XGJpbjtDOlxQcm9ncmFtIEZpbGVzXEdpdFx1c3Jc
YmluO0M6XFByb2dyYW0gRmlsZXNcUG93ZXJTaGVsbFw3XDtDOlxQcm9ncmFtIEZp
bGVzXGdzdWRvXEN1cnJlbnQ7QzpcUHJvZ3JhbSBGaWxlc1xub2RlanNcO0M6XFBy
b2dyYW0gRmlsZXNcUHVUVFlcO0M6XFByb2dyYW0gRmlsZXNcRG9ja2VyXERvY2tl
clxyZXNvdXJjZXNcYmluO0M6XFByb2dyYW0gRmlsZXMgKHg4NilcV2luZG93cyBL
aXRzXDEwXFdpbmRvd3MgUGVyZm9ybWFuY2UgVG9vbGtpdFw7QzpcUHJvZ3JhbSBG
aWxlcyAoeDg2KVxXaW5kb3dzIEtpdHNcMTBcTWljcm9zb2Z0IEFwcGxpY2F0aW9u
IFZpcnR1YWxpemF0aW9uXFNlcXVlbmNlclw7QzpcUHJvZ3JhbSBGaWxlcyAoeDg2
KVxXaW5kb3dzIEtpdHNcMTBcQXNzZXNzbWVudCBhbmQgRGVwbG95bWVudCBLaXRc
RGVwbG95bWVudCBUb29sc1xBTUQ2NFxPc2NkaW1nOztDOlxQcm9ncmFtIEZpbGVz
ICh4ODYpXFdpbk1lcmdlO0M6XFByb2dyYW0gRmlsZXNcVG9ydG9pc2VTVk5cYmlu
O0M6XFByb2dyYW0gRmlsZXMgKHg4NilcRVNGRGF0YWJhc2VNaWdyYXRpb25cO0M6
XFVzZXJzXFdpblwuY2FyZ29cYmluO0M6XFVzZXJzXFdpblxBcHBEYXRhXExvY2Fs
XFByb2dyYW1zXFB5dGhvblxQeXRob24zMTJcU2NyaXB0c1w7QzpcVXNlcnNcV2lu
XEFwcERhdGFcTG9jYWxcUHJvZ3JhbXNcUHl0aG9uXFB5dGhvbjMxMlw7QzpcVXNl
cnNcV2luXEFwcERhdGFcTG9jYWxcUHJvZ3JhbXNcUHl0aG9uXExhdW5jaGVyXDtD
OlxVc2Vyc1xXaW5cQXBwRGF0YVxMb2NhbFxNaWNyb3NvZnRcV2luZG93c0FwcHM7
QzpcVXNlcnNcV2luXEFwcERhdGFcTG9jYWxcTWljcm9zb2Z0XFdpbkdldFxMaW5r
cztDOlxVc2Vyc1xXaW5cQXBwRGF0YVxSb2FtaW5nXG5wbTtDOlxVc2Vyc1xXaW5c
RG9jdW1lbnRzXFBvd2VyU2hlbGxcU2NyaXB0cztDOlxVc2Vyc1xXaW5cQXBwRGF0
YVxSb2FtaW5nXENvbXBvc2VyXHZlbmRvclxiaW47QzpcQU1QUFNcQ09NUE9TRVI7
QzpcQU1QUFNcUEhQODENCg0KY2FsbCBjb21wb3NlciBjb25maWcgLS1nbG9iYWwg
LS1hdXRoIGdpdGh1Yi1vYXV0aC5naXRodWIuY29tIGdocF9wQzVuZ2RPNG9NQkRC
VWY1eW85bU8wN3oxZ1c0RlI0Uzk2aXYNCmNhbGwgY29tcG9zZXIgdXBkYXRlIC0t
bm8tc2NyaXB0cw0KDQpAc2V0IHBhdGg9JW9sZHBhdGglDQoNCkBwYXVzZQ==
-----END CERTIFICATE-----
Agora farei o teste básico de descodificação:
certutil -decode compose.b64 compose.d64
Resultado dentro de compose.d64:
@set oldpath=%path%
@set Path=C:\Program Files (x86)\Embarcadero\Studio\22.0\bin;C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl;C:\Program Files (x86)\Embarcadero\Studio\22.0\bin64;C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\Win64;C:\Program Files\Eclipse Adoptium\jre-18.0.2.101-hotspot\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\ProgramData\chocolatey\bin;C:\Program Files\dotnet\;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\PowerShell\7\;C:\Program Files\gsudo\Current;C:\Program Files\nodejs\;C:\Program Files\PuTTY\;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files (x86)\Windows Kits\10\Microsoft Application Virtualization\Sequencer\;C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\AMD64\Oscdimg;;C:\Program Files (x86)\WinMerge;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\ESFDatabaseMigration\;C:\Users\Win\.cargo\bin;C:\Users\Win\AppData\Local\Programs\Python\Python312\Scripts\;C:\Users\Win\AppData\Local\Programs\Python\Python312\;C:\Users\Win\AppData\Local\Programs\Python\Launcher\;C:\Users\Win\AppData\Local\Microsoft\WindowsApps;C:\Users\Win\AppData\Local\Microsoft\WinGet\Links;C:\Users\Win\AppData\Roaming\npm;C:\Users\Win\Documents\PowerShell\Scripts;C:\Users\Win\AppData\Roaming\Composer\vendor\bin;C:\AMPPS\COMPOSER;C:\AMPPS\PHP81
call composer config --global --auth github-oauth.github.com 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
call composer update --no-scripts
@set path=%oldpath%
@pause