Packages

final class SecretString extends AnyRef

Modified copy from https://github.com/ergoplatform/ergo-appkit SecretString class Encapsulates secret array of characters (char[]) with proper equality. The secret data can be erased in memory and not leaked to GC. Note that SecretString#getData() and SecretString#toStringUnsecure() will throw a runtime exception, if already erased Using this class is more secure and safe than using char[] directly.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SecretString
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(obj: Any): Boolean

    Throws an exception if SecretString#_erased flag is true

    Throws an exception if SecretString#_erased flag is true

    Definition Classes
    SecretString → AnyRef → Any
  8. def erase(): Unit

    Erases secret characters stored in this instance so that they are no longer reside in memory.

    Erases secret characters stored in this instance so that they are no longer reside in memory. Sets a flag _erased to true

  9. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def getData(): Array[Char]

    Extracts secret characters as an array.

    Extracts secret characters as an array. Throws an exception if SecretString#_erased flag is true

  12. def hashCode(): Int

    Throws an exception if SecretString#_erased flag is true

    Throws an exception if SecretString#_erased flag is true

    Definition Classes
    SecretString → AnyRef → Any
  13. def isEmpty(): Boolean

    Returns true if the string doesn't have characters.

    Returns true if the string doesn't have characters. Throws an exception if SecretString#_erased flag is true

  14. def isErased(): Boolean

    Returns true if the string has been erased.

  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. def toStringUnsecure(): String

    Returns unsecured String with secret characters.

    Returns unsecured String with secret characters. The secret characters are copied to the new String instance and cannot be erased in memory. So they leak to GC and may remain in memory until overwritten by new data. Usage of this method is discouraged and the method is provided solely to interact with legacy code which keeps secret characters in String. Throws an exception if SecretString#_erased flag is true

  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped