func PlainTextFromPrimitives(cipherBytes []byte,
	projectID, locationID, keyRingID, cryptoKeyID, keyName string,
	kmsProvider KmsProvider) (plaintext []byte, err error) {

	checkCipherTextLength(cipherBytes, kmsProvider.encryptedDekLength())
	cipherLength := len(cipherBytes)
	encrypt := false
	if plaintext, err = plainTextWithDekLength(cipherBytes, projectID, locationID, keyRingID,
		cryptoKeyID, keyName, kmsProvider.encryptedDekLength(), cipherLength, encrypt, kmsProvider); err != nil {
		plaintext, err = plainTextWithDekLength(cipherBytes, projectID, locationID, keyRingID,
			cryptoKeyID, keyName, kmsProvider.encryptedDekLength()-1, cipherLength, encrypt, kmsProvider)
	}
	return
}
// PlainTextFromPrimitives returns a slice of bytes (the plaintext), decrypted from
// a byte slice
PlainTextFromPrimitives returns a slice of bytes (the plaintext), decrypted from
a byte slice
// PlainTextFromPrimitives returns a slice of bytes ( the plaintext ) decrypted from // a byte slice
func PlainTextFromPrimitives(cipherBytes []byte,
	projectID, locationID, keyRingID, cryptoKeyID, keyName string,
	kmsProvider KmsProvider) (plaintext []byte, err error) {
	checkCipherTextLength(cipherBytes, kmsProvider.encryptedDekLength())
	cipherLength := len(cipherBytes)
	encrypt := false
	if plaintext, err = plainTextWithDekLength(cipherBytes, projectID, locationID, keyRingID,
		cryptoKeyID, keyName, kmsProvider.encryptedDekLength(), cipherLength, encrypt, kmsProvider); err != nil {
		plaintext, err = plainTextWithDekLength(cipherBytes, projectID, locationID, keyRingID,
			cryptoKeyID, keyName, kmsProvider.encryptedDekLength()-1, cipherLength, encrypt, kmsProvider)
	}
	return
}
func PlainTextFromPrimitives ( cipherBytes [ ] byte , projectID , locationID , keyRingID , cryptoKeyID , keyName string , kmsProvider KmsProvider ) ( plaintext [ ] byte , err error ) { checkCipherTextLength ( cipherBytes , kmsProvider . encryptedDekLength ( ) ) cipherLength := len ( cipherBytes ) encrypt := false if plaintext , err = plainTextWithDekLength ( cipherBytes , projectID , locationID , keyRingID , cryptoKeyID , keyName , kmsProvider . encryptedDekLength ( ) , cipherLength , encrypt , kmsProvider ) ; err != nil { plaintext , err = plainTextWithDekLength ( cipherBytes , projectID , locationID , keyRingID , cryptoKeyID , keyName , kmsProvider . encryptedDekLength ( ) - 1 , cipherLength , encrypt , kmsProvider ) } return }
PlainTextFromPrimitives returns a slice of bytes (the plaintext), decrypted from
a byte slice
PlainTextFromPrimitives returns a slice of bytes ( the plaintext ) decrypted from a byte slice