Implement PKCS#7 padding


In [ ]:
function stringToBytes(X::String)
    return [UInt8(X[ii]) for ii in 1:length(X)]
end

function padToNBytes(a::Array{UInt8,1}, nbytes)
    newa = Array{UInt8,1}(nbytes)
    ntopad = nbytes - length(a)
    newa[1:length(a)] = a
    newa[(length(a)+1):nbytes] = UInt8(ntopad)
    return newa
end

function padToNBytes(a::String, nbytes)
    return String(padToNBytes(stringToBytes(a), nbytes))
end;

In [ ]:
padToNBytes("YELLOW SUBMARINE", 20)