# 원본 파일 해쉬 계산
Get-FileHash <Path> -Algolithm md5
# Case 1. PowerShell을 통한 Base64 파일 생성
[Convert]::ToBase64String((Get-Content -Path <Path> -Encoding byte)) > <OutputFile>
# Case 2. certutil을 통한 Base64 파일 생성
certutil -encode <Origin File> <OutputFile>
명령 결과로 나오는 Base64 인코딩 문자를 복사한 뒤
Linux에서 Base64 디코딩 후 파일로 저장합니다.
# Base64 문자열을 디코딩하여 파일로 저장
echo <Base64 Encoded String> | base64 -d > <OutputFile>
# Linux에서 해쉬 계산을 통한 무결성 검증
md5sum <OutputFile>
# 원본 파일 해쉬 계산
┌──(root㉿kali)-[~/.ssh]
└─# md5sum id_rsa
6e8e83ed5e21650f36cd1e586d7679b4 id_rsa
# 원본 파일 Base64 인코딩
┌──(root㉿kali)-[~/.ssh]
└─# cat id_rsa | base64 -w 0; echo
명령 결과로 나오는 Base64 인코딩 문자를 복사한 뒤
Windows에서 객체를 생성하여 파일로 변환합니다.
# Base64로 인코딩된 문자열 변수에 저장
$base64String = <Base64 Encoded String>
# Base64 문자열을 디코딩하여 바이트 배열로 변환
$byteArray = [Convert]::[FromBase64String($base64String)
# 바이트 배열을 파일로 저장
[System.IO.File]::WriteAllBytes(<Path>, $byteArray)
파일로 변환한 뒤 원본과의 무결성을 증명하기 위해 해쉬값을 계산합니다.
# Windows에서 해쉬 계산을 통한 무결성 검증
Get-FileHash <Path> -Algolithm md5