Пример #1
0
    public void Emit(ref SpanBuffer <byte> buf)
    {
        string name = this.Name.ToUpperInvariant();

        if (name.Length < 4)
        {
            int pad = 4 - name.Length;
            name = name + ' '._MakeCharArray(pad);
        }

        var nameBuf = name.ToUpperInvariant()._GetBytes_Ascii();

        if (nameBuf.Length != 4)
        {
            throw new CoresLibException("nameBuf.Length != 4");
        }

        string dataStr = Str.Base64ToSafe64(Str.Base64Encode(this.Data));
        var    dataBuf = dataStr._GetBytes_Ascii();

        int dataSize = dataBuf.Length;

        string dataSizeStr     = dataSize.ToString("0000000000");
        var    dataSizeStrData = dataSizeStr._GetBytes_Ascii();

        buf.Write(nameBuf);
        buf.Write(dataSizeStrData);
        buf.Write(dataBuf);
    }
Пример #2
0
 public static string ToUrl(string uri)
 {
     if (uri.IndexOf("//") < 0)
     {
         return(uri);
     }
     return("/To?url=" + Str.Base64Encode(uri).Trim('='));
 }
Пример #3
0
        static ReadOnlySpan <byte> ConvertToPemIfDer(ReadOnlySpan <byte> src)
        {
            string test = src._GetString_Ascii();

            if (test._InStr("-----BEGIN", false))
            {
                return(src);
            }

            string str = "-----BEGIN PUBLIC KEY-----\n" + Str.Base64Encode(src.ToArray()) + "\n" + "-----END PUBLIC KEY-----\n\n";

            return(str._GetBytes_Ascii());
        }