package Ġk rypt ic . hash ing . digest č Ċ import Ġk rypt ic . hash ing . utils . Hash Without Key čĊč Ċ class ĠSHA Ġ: ĠHash Without Key Ġ{ čĊčĊĠĠĠ Ġprivate Ġconstructor ( algorithm : String ) Ġ: Ġsuper ( algorithm ) čĊčĊĠĠĠ Ġcompanion Ġobject Ġ{ čĊčĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġinvoke () Ġ= ĠSHA (" SHA ") čĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġinvoke ( data : ĠString ) Ġ= ĠSHA ()( data ) čĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġinvoke ( data : ĠByteArray ) Ġ= ĠSHA ()( data ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġ_ 2 2 4 Ġ= ĠSHA (" SHA - 2 2 4 ") čĊĠĠĠĠĠĠĠ Ġval Ġ_ 2 5 6 Ġ= ĠSHA (" SHA - 2 5 6 ") čĊĠĠĠĠĠĠĠ Ġval Ġ_ 3 8 4 Ġ= ĠSHA (" SHA - 3 8 4 ") čĊĠĠĠĠĠĠĠ Ġval Ġ_ 5 1 2 Ġ= ĠSHA (" SHA - 5 1 2 ") čĊĠĠĠĠĠĠĠ Ġval Ġ_ 5 1 2 d 2 2 4 Ġ= ĠSHA (" SHA - 5 1 2 / 2 2 4 ") čĊĠĠĠĠĠĠĠ Ġval Ġ_ 5 1 2 d 2 5 6 Ġ= ĠSHA (" SHA - 5 1 2 / 2 5 6 ") čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoperator Ġfun Ġinvoke ( data : ĠString ) Ġ= Ġthis ( data . toByteArray ()) čĊĠĠĠ Ġoperator Ġfun Ġinvoke ( data : ĠByteArray ) Ġ= Ġhashing ( data ) čĊčĊč Ċ }