Advertisement
mariussm

PowerShell - Base64

Jun 18th, 2014
3,355
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <#
  2. .Synopsis
  3.    Function to convert strings or byte arrays to base 64 encoded strings
  4. .DESCRIPTION
  5.    Function to convert strings or byte arrays to base 64 encoded strings
  6. .EXAMPLE
  7.    ConvertTo-Base64 "marius"
  8. .EXAMPLE
  9.    ConvertTo-Base64 -ByteArray ([system.Text.Encoding]::UTF8).GetBytes("marius")
  10. .EXAMPLE
  11.    "marius" | ConvertTo-Base64
  12. #>
  13. function ConvertTo-Base64
  14. {
  15.     [CmdletBinding(DefaultParameterSetName='String')]
  16.     [OutputType([String])]
  17.     Param
  18.     (
  19.         # String to convert to base64
  20.         [Parameter(Mandatory=$true,
  21.                    ValueFromPipeline=$true,
  22.                    ValueFromRemainingArguments=$false,
  23.                    Position=0,
  24.                    ParameterSetName='String')]
  25.         [ValidateNotNull()]
  26.         [ValidateNotNullOrEmpty()]
  27.         [string]
  28.         $String,
  29.  
  30.         # Param2 help description
  31.         [Parameter(ParameterSetName='ByteArray')]
  32.         [ValidateNotNull()]
  33.         [ValidateNotNullOrEmpty()]
  34.         [byte[]]
  35.         $ByteArray
  36.     )
  37.  
  38.     if($String) {
  39.         return [System.Convert]::ToBase64String(([System.Text.Encoding]::UTF8.GetBytes($String)));
  40.     } else {
  41.         return [System.Convert]::ToBase64String($ByteArray);
  42.     }
  43. }
  44.  
  45.  
  46. <#
  47. .Synopsis
  48.    Function to convert strings or byte arrays to base 64 encoded strings
  49. .DESCRIPTION
  50.    Function to convert strings or byte arrays to base 64 encoded strings
  51. .EXAMPLE
  52.    "bWFyaXVz" | ConvertFrom-Base64
  53. #>
  54. function ConvertFrom-Base64 {
  55.     [CmdletBinding()]
  56.     Param(
  57.         [Parameter(Mandatory=$True,
  58.                    Position=0,
  59.                    ValueFromPipeline=$true)]
  60.         [ValidateNotNull()]
  61.         [ValidateNotNullOrEmpty()]
  62.         [string]
  63.         $Base64String
  64.     )
  65.  
  66.     return [System.Text.Encoding]::UTF8.GetString(([System.Convert]::FromBase64String($Base64String)));
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement