| // Copyright (c) The OpenTofu Authors | |
| // SPDX-License-Identifier: MPL-2.0 | |
| // Copyright (c) 2023 HashiCorp, Inc. | |
| // SPDX-License-Identifier: MPL-2.0 | |
| package method | |
| // Method is a low-level encryption method interface that is responsible for encrypting a binary blob of data. It should | |
| // not try to interpret what kind of data it is encrypting. | |
| type Method interface { | |
| // Encrypt encrypts the specified data with the set configuration. This method should treat any data passed as | |
| // opaque and should not try to interpret its contents. The interpretation is the job of the encryption.Encryption | |
| // interface. | |
| Encrypt(data []byte) ([]byte, error) | |
| // Decrypt decrypts the specified data with the set configuration. This method should treat any data passed as | |
| // opaque and should not try to interpret its contents. The interpretation is the job of the encryption.Encryption | |
| // interface. | |
| Decrypt(data []byte) ([]byte, error) | |
| } |