diff --git a/layouts/shortcodes/fixit-encryptor.html b/layouts/shortcodes/fixit-encryptor.html new file mode 100644 index 00000000..2e8a21e3 --- /dev/null +++ b/layouts/shortcodes/fixit-encryptor.html @@ -0,0 +1,17 @@ +{{- $password := .Get 0 | default "" -}} + +{{- if $password -}} + {{- $content := .Inner | .Page.RenderString -}} + {{- $saltLen := strings.RuneCount (trim $password "") -}} + {{- $saltLen = cond (eq (mod $saltLen 2) 0) (add $saltLen 1) $saltLen -}} + {{- $base64EncodeContent := $content | base64Encode -}} + {{- $content = printf "%v%v%v" + (substr $base64EncodeContent 0 $saltLen) + (substr (sha256 $password) $saltLen) + (substr $base64EncodeContent $saltLen) + -}} + + {{- partial "single/fixit-decryptor.html" . -}} +{{- else -}} + {{- .Inner -}} +{{- end -}} \ No newline at end of file