• Pieter Hintjens's avatar
    Added Z85 support · 70417701
    Pieter Hintjens authored
    The use of binary for CURVE keys is painful; you cannot easily copy
    these in e.g. email, or use them directly in source code. There are
    various encoding possibilities. Base16 and Base64 are not optimal.
    Ascii85 is not safe for source (it generates quotes and escapes).
    
    So, I've designed a new Base85 encoding, Z85, which is safe to use
    in code and elsewhere, and I've modified libzmq to use this where
    it also uses binary keys (in get/setsockopt).
    
    Very simply, if you use a 32-byte value, it's Base256 (binary),
    and if you use a 40-byte value, it's Base85 (Z85).
    
    I've put the Z85 codec into z85_codec.hpp, it's not elegant C++
    but it is minimal and it works. Feel free to rewrap as a real class
    if this annoys you.
    70417701
Makefile.am 1.13 KB