Google\Cloud\Storage\EncryptionTrait::buildHeaders PHP Method

buildHeaders() private method

Builds out customer-supplied encryption headers.
private buildHeaders ( string $key, string $keySHA256, boolean $useCopySourceHeaders ) : array
$key string
$keySHA256 string
$useCopySourceHeaders boolean
return array
    private function buildHeaders($key, $keySHA256, $useCopySourceHeaders)
    {
        if ($key) {
            $headerNames = $useCopySourceHeaders ? $this->copySourceEncryptionHeaderNames : $this->encryptionHeaderNames;
            if (!$keySHA256) {
                $decodedKey = base64_decode($key);
                $keySHA256 = base64_encode(hash('SHA256', $decodedKey, true));
            }
            return [$headerNames['algorithm'] => 'AES256', $headerNames['key'] => $key, $headerNames['keySHA256'] => $keySHA256];
        }
        return [];
    }