UnicodeSecurity.Collision (UnicodeSecurity v0.1.0)

Copy Markdown View Source

Ordered valid binary inputs sharing one computed skeleton key.

A collision requires at least two distinct exact binary inputs. Its class is the highest-precedence primary confusable class realized by a pair of canonically distinct inputs. :none also covers different domain spellings that normalize to the same IDNA name. Domain classes use changed Unicode labels and the strongest changed-label class of each pair.

Summary

Types

class()

@type class() ::
  :mixed_script_confusable
  | :whole_script_confusable
  | :single_script_confusable

t()

@type t() :: %UnicodeSecurity.Collision{
  class: class() | :none | nil,
  classes: [class()],
  indexes: [non_neg_integer()],
  inputs: [binary()],
  key: binary() | nil,
  reasons: [UnicodeSecurity.Reason.t()],
  unicode_version: binary() | nil
}