anchor.diff:  ----
   
   
  -The object returned by the call to `getContext()` is an instance of the `SecurityContext` interface. This is the object that is kept in thread-local storage. As we'll see below, most authentication mechanisms withing Spring Security return an instance of `UserDetails` as the principal.
  +The object returned by the call to `getContext()` is an instance of the `SecurityContext` interface. This is the object that is kept in thread-local storage. As we'll see below, most authentication mechanisms within Spring Security return an instance of `UserDetails` as the principal.
   
   
   [[tech-userdetailsservice]]
  
positive.code: 
  [[spring-security-crypto-encryption]]
  === Encryptors
  The Encryptors class provides factory methods for constructing symmetric encryptors. Using this class, you can create ByteEncryptors to encrypt data in raw byte[] form. You can also construct TextEncryptors to encrypt text strings. Encryptors are thread safe.
  
  [[spring-security-crypto-encryption-bytes]]
  ==== BytesEncryptor
  
negative.code: 
  === Spring Security Concurrency Classes
  
  Refer to the Javadoc for additional integrations with both the Java concurrent APIs and the Spring Task abstractions. They are quite self-explanatory once you understand the previous code.
  
  * DelegatingSecurityContextCallable
  * DelegatingSecurityContextExecutor
  