mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-03-03 12:30:24 +00:00
19 lines
37 KiB
HTML
19 lines
37 KiB
HTML
<!DOCTYPE html ><html><head><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/><title>PSF-LoginServer - master - net.psforever.crypto.CryptoInterface</title><meta content="PSF - LoginServer - master - net.psforever.crypto.CryptoInterface" name="description"/><meta content="PSF LoginServer master net.psforever.crypto.CryptoInterface" name="keywords"/><meta http-equiv="content-type" content="text/html; charset=UTF-8"/><link href="../../../lib/index.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../lib/template.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../lib/print.css" media="print" type="text/css" rel="stylesheet"/><link href="../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css"/><script type="text/javascript" src="../../../lib/jquery.min.js"></script><script type="text/javascript" src="../../../lib/index.js"></script><script type="text/javascript" src="../../../index.js"></script><script type="text/javascript" src="../../../lib/scheduler.js"></script><script type="text/javascript" src="../../../lib/template.js"></script><script type="text/javascript">/* this variable can be used by the JS to determine the path to the root document */
|
|
var toRoot = '../../../';</script></head><body><div id="search"><span id="doc-title">PSF-LoginServer - <span id="doc-version">master</span></span> <span class="close-results"><span class="left"><</span> Back</span><div id="textfilter"><span class="input"><input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/"/><i class="clear material-icons"></i><i id="search-icon" class="material-icons"></i></span></div></div><div id="search-results"><div id="search-progress"><div id="progress-fill"></div></div><div id="results-content"><div id="entity-results"></div><div id="member-results"></div></div></div><div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;"><div id="content-container" style="-webkit-overflow-scrolling: touch;"><div id="subpackage-spacer"><div id="packages"><h1>Packages</h1><ul><li class="indented0 " name="_root_.root" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="_root_"></a><a id="root:_root_"></a> <span class="permalink"><a href="../../../index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../index.html" title=""><span class="name">root</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented1 " name="_root_.net" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="net"></a><a id="net:net"></a> <span class="permalink"><a href="../../../net/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../index.html" title=""><span class="name">net</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented2 " name="net.psforever" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="psforever"></a><a id="psforever:psforever"></a> <span class="permalink"><a href="../../../net/psforever/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../index.html" title=""><span class="name">psforever</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../index.html" name="net" id="net" class="extype">net</a></dd></dl></div></li><li class="indented3 " name="net.psforever.crypto" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="crypto"></a><a id="crypto:crypto"></a> <span class="permalink"><a href="../../../net/psforever/crypto/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="index.html" title=""><span class="name">crypto</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever" id="net.psforever" class="extype">psforever</a></dd></dl></div></li><li class="current-entities indented3"><span class="separator"></span> <a href="" title="" class="object"></a><a href="" title="">CryptoInterface</a></li></ul></div></div><div id="content"><body class="object value"><div id="definition"><div class="big-circle object">o</div><p id="owner"><a href="../../index.html" name="net" id="net" class="extype">net</a>.<a href="../index.html" name="net.psforever" id="net.psforever" class="extype">psforever</a>.<a href="index.html" name="net.psforever.crypto" id="net.psforever.crypto" class="extype">crypto</a></p><h1>CryptoInterface<span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html" title="Permalink"><i class="material-icons"></i></a></span></h1><h3><span class="morelinks"></span></h3></div><h4 id="signature" class="signature"><span class="modifier_kind"><span class="modifier"></span> <span class="kind">object</span></span> <span class="symbol"><span class="name">CryptoInterface</span></span></h4><div id="comment" class="fullcommenttop"><dl class="attributes block"><dt>Source</dt><dd><a href="https://github.com/psforever/PSF-LoginServer/blob/master//home/runner/work/PSF-LoginServer/PSF-LoginServer/src/main/scala/net/psforever/crypto/CryptoInterface.scala" target="_blank">CryptoInterface.scala</a></dd></dl><div class="toggleContainer"><div class="toggle block"><span>Linear Supertypes</span><div class="superTypes hiddenContent"><span name="scala.AnyRef" class="extype">AnyRef</span>, <span name="scala.Any" class="extype">Any</span></div></div></div></div><div id="mbrsel"><div class="toggle"></div><div id="memberfilter"><i class="material-icons arrow"></i><span class="input"><input placeholder="Filter all members" id="mbrsel-input" type="text" accesskey="/"/></span><i class="clear material-icons"></i></div><div id="filterby"><div id="order"><span class="filtertype">Ordering</span><ol><li class="alpha in"><span>Alphabetic</span></li><li class="inherit out"><span>By Inheritance</span></li></ol></div><div class="ancestors"><span class="filtertype">Inherited<br/></span><ol id="linearization"><li class="in" name="net.psforever.crypto.CryptoInterface"><span>CryptoInterface</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li></ol></div><div class="ancestors"><span class="filtertype"></span><ol><li class="hideall out"><span>Hide All</span></li><li class="showall in"><span>Show All</span></li></ol></div><div id="visbl"><span class="filtertype">Visibility</span><ol><li class="public in"><span>Public</span></li><li class="protected out"><span>Protected</span></li></ol></div></div></div><div id="template"><div id="allMembers"><div id="types" class="types members"><h3>Type Members</h3><ol><li class="indented0 " name="net.psforever.crypto.CryptoInterface.CryptoDHState" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="CryptoDHStateextendsIFinalizable"></a><a id="CryptoDHState:CryptoDHState"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$$CryptoDHState.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">class</span></span> <span class="symbol"><a href="CryptoInterface$$CryptoDHState.html" title=""><span class="name">CryptoDHState</span></a><span class="result"> extends <a href="../IFinalizable.html" name="net.psforever.IFinalizable" id="net.psforever.IFinalizable" class="extype">IFinalizable</a></span></span></li><li class="indented0 " name="net.psforever.crypto.CryptoInterface.CryptoState" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="CryptoStateextendsIFinalizable"></a><a id="CryptoState:CryptoState"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$$CryptoState.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">class</span></span> <span class="symbol"><a href="CryptoInterface$$CryptoState.html" title=""><span class="name">CryptoState</span></a><span class="result"> extends <a href="../IFinalizable.html" name="net.psforever.IFinalizable" id="net.psforever.IFinalizable" class="extype">IFinalizable</a></span></span></li><li class="indented0 " name="net.psforever.crypto.CryptoInterface.CryptoStateWithMAC" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="CryptoStateWithMACextendsCryptoInterface.CryptoState"></a><a id="CryptoStateWithMAC:CryptoStateWithMAC"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$$CryptoStateWithMAC.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">class</span></span> <span class="symbol"><a href="CryptoInterface$$CryptoStateWithMAC.html" title=""><span class="name">CryptoStateWithMAC</span></a><span class="result"> extends <a href="CryptoInterface$$CryptoState.html" name="net.psforever.crypto.CryptoInterface.CryptoState" id="net.psforever.crypto.CryptoInterface.CryptoState" class="extype">CryptoState</a></span></span></li></ol></div><div class="values members"><h3>Value Members</h3><ol><li class="indented0 " name="scala.AnyRef#!=" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="!=(x$1:Any):Boolean"></a><a id="!=(Any):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#!=(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $bang$eq">!=</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef###" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="##:Int"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html###:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $hash$hash">##</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#==" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="==(x$1:Any):Boolean"></a><a id="==(Any):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#==(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $eq$eq">==</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="net.psforever.crypto.CryptoInterface#MD5MAC" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="MD5MAC(key:scodec.bits.ByteVector,message:scodec.bits.ByteVector,bytesWanted:Int):scodec.bits.ByteVector"></a><a id="MD5MAC(ByteVector,ByteVector,Int):ByteVector"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#MD5MAC(key:scodec.bits.ByteVector,message:scodec.bits.ByteVector,bytesWanted:Int):scodec.bits.ByteVector" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">MD5MAC</span><span class="params">(<span name="key">key: <span name="scodec.bits.ByteVector" class="extype">ByteVector</span></span>, <span name="message">message: <span name="scodec.bits.ByteVector" class="extype">ByteVector</span></span>, <span name="bytesWanted">bytesWanted: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scodec.bits.ByteVector" class="extype">ByteVector</span></span></span></li><li class="indented0 " name="net.psforever.crypto.CryptoInterface#MD5_MAC_SIZE" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="MD5_MAC_SIZE:Int(16)"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#MD5_MAC_SIZE:Int(16)" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">val</span></span> <span class="symbol"><span class="name">MD5_MAC_SIZE</span><span class="result">: Int(16)</span></span></li><li class="indented0 " name="net.psforever.crypto.CryptoInterface#PSCRYPTO_VERSION_MAJOR" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="PSCRYPTO_VERSION_MAJOR:Int(1)"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#PSCRYPTO_VERSION_MAJOR:Int(1)" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">val</span></span> <span class="symbol"><span class="name">PSCRYPTO_VERSION_MAJOR</span><span class="result">: Int(1)</span></span></li><li class="indented0 " name="net.psforever.crypto.CryptoInterface#PSCRYPTO_VERSION_MINOR" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="PSCRYPTO_VERSION_MINOR:Int(1)"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#PSCRYPTO_VERSION_MINOR:Int(1)" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">val</span></span> <span class="symbol"><span class="name">PSCRYPTO_VERSION_MINOR</span><span class="result">: Int(1)</span></span></li><li class="indented0 " name="net.psforever.crypto.CryptoInterface#RC5_BLOCK_SIZE" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="RC5_BLOCK_SIZE:Int(8)"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#RC5_BLOCK_SIZE:Int(8)" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">val</span></span> <span class="symbol"><span class="name">RC5_BLOCK_SIZE</span><span class="result">: Int(8)</span></span></li><li class="indented0 " name="scala.Any#asInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="asInstanceOf[T0]:T0"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#asInstanceOf[T0]:T0" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span name="scala.Any.asInstanceOf.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#clone" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="clone():Object"></a><a id="clone():AnyRef"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#clone():Object" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">clone</span><span class="params">()</span><span class="result">: <span name="scala.AnyRef" class="extype">AnyRef</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected[<span name="java.lang" class="extype">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.CloneNotSupportedException]</span></span>)</span> <span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#eq" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="eq(x$1:AnyRef):Boolean"></a><a id="eq(AnyRef):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#eq(x$1:AnyRef):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">eq</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#equals" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="equals(x$1:Object):Boolean"></a><a id="equals(AnyRef):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#equals(x$1:Object):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">equals</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#finalize" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="finalize():Unit"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#finalize():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">finalize</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected[<span name="java.lang" class="extype">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="symbol">classOf[java.lang.Throwable]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="net.psforever.crypto.CryptoInterface#fullLibName" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="fullLibName:String("pscrypto")"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#fullLibName:String("pscrypto")" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">val</span></span> <span class="symbol"><span class="name">fullLibName</span><span class="result">: String("pscrypto")</span></span></li><li class="indented0 " name="net.psforever.crypto.CryptoInterface#functionsList" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="functionsList:List[String]"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#functionsList:List[String]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">functionsList</span><span class="result">: <span name="scala.collection.immutable.List" class="extype">List</span>[<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#java.lang.String" name="java.lang.String" id="java.lang.String" class="extype">String</a>]</span></span></li><li class="indented0 " name="scala.AnyRef#getClass" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="getClass():Class[_]"></a><a id="getClass():Class[_<:AnyRef]"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#getClass():Class[_]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">getClass</span><span class="params">()</span><span class="result">: <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#java.lang.Class" name="java.lang.Class" id="java.lang.Class" class="extype">Class</a>[_ <: <span name="scala.AnyRef" class="extype">AnyRef</span>]</span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#hashCode" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="hashCode():Int"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#hashCode():Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">hashCode</span><span class="params">()</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="net.psforever.crypto.CryptoInterface#initialize" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="initialize():Unit"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#initialize():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">initialize</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><p class="shortcomment cmt">Used to initialize the crypto library at runtime.</p><div class="fullcomment"><div class="comment cmt"><p>Used to initialize the crypto library at runtime. The version is checked and
|
|
all functions are mapped.
|
|
</p></div></div></li><li class="indented0 " name="scala.Any#isInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="isInstanceOf[T0]:Boolean"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#isInstanceOf[T0]:Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">isInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Any</dd></dl></div></li><li class="indented0 " name="net.psforever.crypto.CryptoInterface#libName" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="libName:String("pscrypto")"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#libName:String("pscrypto")" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">val</span></span> <span class="symbol"><span class="name">libName</span><span class="result">: String("pscrypto")</span></span></li><li class="indented0 " name="scala.AnyRef#ne" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="ne(x$1:AnyRef):Boolean"></a><a id="ne(AnyRef):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#ne(x$1:AnyRef):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">ne</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#notify" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notify():Unit"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#notify():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">notify</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#notifyAll" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notifyAll():Unit"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#notifyAll():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">notifyAll</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="net.psforever.crypto.CryptoInterface#printEnvironment" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="printEnvironment():Unit"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#printEnvironment():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">printEnvironment</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><p class="shortcomment cmt">Used for debugging object loading
|
|
</p></li><li class="indented0 " name="net.psforever.crypto.CryptoInterface#psLib" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="psLib:sna.Library"></a><a id="psLib:Library"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#psLib:sna.Library" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">val</span></span> <span class="symbol"><span class="name">psLib</span><span class="result">: <a href="../../../sna/Library.html" name="sna.Library" id="sna.Library" class="extype">Library</a></span></span><p class="shortcomment cmt"> NOTE: this is a single, global shared library for the entire server's crypto needs</p><div class="fullcomment"><div class="comment cmt"><p> NOTE: this is a single, global shared library for the entire server's crypto needs</p><p> Unfortunately, access to this object didn't used to be synchronized. I noticed that
|
|
tests for this module were hanging ("arrive at a shared secret" & "must fail to agree on
|
|
a secret..."). This heisenbug was responsible for failed Travis test runs and developer
|
|
issues as well. Using Windows minidumps, I tracked the issue to a single thread deep in
|
|
pscrypto.dll. It appeared to be executing an EB FE instruction (on Intel x86 this is
|
|
<code>jmp $-2</code> or jump to self), which is an infinite loop. The stack trace made little to no
|
|
sense and after banging my head on the wall for many hours, I assumed that something deep
|
|
in CryptoPP, the libgcc libraries, or MSVC++ was the cause (or myself). Now all access to
|
|
pscrypto functions that allocate and deallocate memory (DH_Start, RC5_Init) are synchronized.
|
|
This *appears* to have fixed the problem.
|
|
</p></div></div></li><li class="indented0 " name="scala.AnyRef#synchronized" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="synchronized[T0](x$1:=>T0):T0"></a><a id="synchronized[T0](=>T0):T0"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#synchronized[T0](x$1:=>T0):T0" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: => <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span>)</span><span class="result">: <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#toString" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="toString():String"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#toString():String" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">toString</span><span class="params">()</span><span class="result">: <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#java.lang.String" name="java.lang.String" id="java.lang.String" class="extype">String</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="net.psforever.crypto.CryptoInterface#verifyMAC" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="verifyMAC(mac1:scodec.bits.ByteVector,mac2:scodec.bits.ByteVector):Boolean"></a><a id="verifyMAC(ByteVector,ByteVector):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#verifyMAC(mac1:scodec.bits.ByteVector,mac2:scodec.bits.ByteVector):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">verifyMAC</span><span class="params">(<span name="mac1">mac1: <span name="scodec.bits.ByteVector" class="extype">ByteVector</span></span>, <span name="mac2">mac2: <span name="scodec.bits.ByteVector" class="extype">ByteVector</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><p class="shortcomment cmt">Checks if two Message Authentication Codes are the same in constant time,
|
|
preventing a timing attack for MAC forgery
|
|
</p><div class="fullcomment"><div class="comment cmt"><p>Checks if two Message Authentication Codes are the same in constant time,
|
|
preventing a timing attack for MAC forgery
|
|
</p></div><dl class="paramcmts block"><dt class="param">mac1</dt><dd class="cmt"><p>A MAC value</p></dd><dt class="param">mac2</dt><dd class="cmt"><p>Another MAC value</p></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait():Unit"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#wait():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">wait</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long,x$2:Int):Unit"></a><a id="wait(Long,Int):Unit"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#wait(x$1:Long,x$2:Int):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>, <span name="arg1">arg1: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long):Unit"></a><a id="wait(Long):Unit"></a> <span class="permalink"><a href="../../../net/psforever/crypto/CryptoInterface$.html#wait(x$1:Long):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> <span class="name">@native</span><span class="args">()</span> </dd></dl></div></li></ol></div></div><div id="inheritedMembers"><div name="scala.AnyRef" class="parent"><h3>Inherited from <span name="scala.AnyRef" class="extype">AnyRef</span></h3></div><div name="scala.Any" class="parent"><h3>Inherited from <span name="scala.Any" class="extype">Any</span></h3></div></div><div id="groupedMembers"><div name="Ungrouped" class="group"><h3>Ungrouped</h3></div></div></div><div id="tooltip"></div><div id="footer"></div></body></div></div></div></body></html>
|