/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠApp mat t us ĠLimited Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . app mat t us . crypto . internal Ċ Ċ import Ġcom . app mat t us . crypto . Digest Ċ import Ġjava . security . Message Digest Ċ Ċ internal Ġclass ĠMessage Digest Platform ( ĊĠĠĠ Ġprivate Ġval Ġalgorithm : ĠString , ĊĠĠĠ Ġoverride Ġval Ġblock Length : ĠInt , ĊĠĠĠ Ġmessage Digest : ĠMessage Digest ? Ġ= Ġnull Ċ ) Ġ: ĠDigest < Message Digest Platform > Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġmessage Digest Ġ= Ġmessage Digest Ġ?: ĠMessage Digest . getInstance ( algorithm ) ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( input : ĠByte ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Digest . update ( input ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( input : ĠByteArray ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Digest . update ( input ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( input : ĠByteArray , Ġoffset : ĠInt , Ġlength : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Digest . update ( input , Ġoffset , Ġlength ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdigest (): ĠByteArray Ġ= Ġmessage Digest . digest () ĊĊĠĠĠ Ġoverride Ġfun Ġdigest ( input : ĠByteArray ): ĠByteArray Ġ= Ġmessage Digest . digest ( input ) ĊĊĠĠĠ Ġoverride Ġfun Ġdigest ( output : ĠByteArray , Ġoffset : ĠInt , Ġlength : ĠInt ): ĠInt Ġ= Ġmessage Digest . digest ( output , Ġoffset , Ġlength ) ĊĊĠĠĠ Ġoverride Ġval Ġdigest Length : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġmessage Digest . digest Length ĊĊĠĠĠ Ġoverride Ġfun Ġreset () Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage Digest . reset () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcopy (): ĠMessage Digest Platform Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMessage Digest Platform ( algorithm , Ġblock Length , Ġmessage Digest . clone () Ġas ĠMessage Digest ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġalgorithm Ċ } Ċ