private Result ValidateServiceName(ServiceName name) { // Service names must be non-empty. if (name.Name == 0) { return(ResultSm.InvalidServiceName.Log()); } // Get name length. int nameLen; for (nameLen = 1; nameLen < Unsafe.SizeOf <ServiceName>(); nameLen++) { if (SpanHelpers.AsReadOnlyByteSpan(ref name)[nameLen] == 0) { break; } } // Names must be all-zero after they end. for (; nameLen < Unsafe.SizeOf <ServiceName>(); nameLen++) { if (SpanHelpers.AsReadOnlyByteSpan(ref name)[nameLen] != 0) { return(ResultSm.InvalidServiceName.Log()); } } return(Result.Success); }
private static string Print(this AesXtsFile xtsFile, int contentType) { int colLen = 36; var sb = new StringBuilder(); sb.AppendLine(); sb.AppendLine("NAX0:"); AesXtsFileHeader header = xtsFile.Header; uint magic = header.Magic; PrintItem(sb, colLen, " Magic:", Util.GetUtf8String(SpanHelpers.AsReadOnlyByteSpan(ref magic))); PrintItem(sb, colLen, " Content Type:", GetContentType(contentType)); PrintItem(sb, colLen, " Content Size:", $"{header.Size:x12}"); PrintItem(sb, colLen, " Header HMAC:", header.Signature); PrintItem(sb, colLen, " Encrypted Keys:", header.EncryptedKey1.Concat(header.EncryptedKey2).ToArray()); PrintItem(sb, colLen, " Decrypted Keys:", header.DecryptedKey1.Concat(header.DecryptedKey2).ToArray()); return(sb.ToString()); }
public override string ToString() { ulong name = Name; return(StringUtils.Utf8ZToString(SpanHelpers.AsReadOnlyByteSpan(ref name))); }