code: func (ks *KeyStore) SignHashWithPassphrase(a accounts.Account, passphrase string, hash []byte) (signature []byte, err error) {
  	_, key, err := ks.getDecryptedKey(a, passphrase)
  	if err != nil {
  		return nil, err
  	}
  	defer zeroKey(key.PrivateKey)
  	return crypto.Sign(hash, key.PrivateKey)
  }
docs: // SignHashWithPassphrase signs hash if the private key matching the given address
  // can be decrypted with the given passphrase. The produced signature is in the
  // [R || S || V] format where V is 0 or 1.