44
55namespace Yiisoft \Security ;
66
7+ use SensitiveParameter ;
78use Yiisoft \Strings \StringHelper ;
89
910final class Crypt
@@ -123,8 +124,11 @@ public function withDerivationIterations(int $iterations): self
123124 * @see decryptByPassword()
124125 * @see encryptByKey()
125126 */
126- public function encryptByPassword (string $ data , string $ password ): string
127- {
127+ public function encryptByPassword (
128+ string $ data ,
129+ #[SensitiveParameter]
130+ string $ password
131+ ): string {
128132 return $ this ->encrypt ($ data , true , $ password , '' );
129133 }
130134
@@ -150,8 +154,12 @@ public function encryptByPassword(string $data, string $password): string
150154 * @see decryptByKey()
151155 * @see encryptByPassword()
152156 */
153- public function encryptByKey (string $ data , string $ inputKey , string $ info = '' ): string
154- {
157+ public function encryptByKey (
158+ string $ data ,
159+ #[SensitiveParameter]
160+ string $ inputKey ,
161+ string $ info = ''
162+ ): string {
155163 return $ this ->encrypt ($ data , false , $ inputKey , $ info );
156164 }
157165
@@ -169,8 +177,11 @@ public function encryptByKey(string $data, string $inputKey, string $info = ''):
169177 *
170178 * @see encryptByPassword()
171179 */
172- public function decryptByPassword (string $ data , string $ password ): string
173- {
180+ public function decryptByPassword (
181+ string $ data ,
182+ #[SensitiveParameter]
183+ string $ password
184+ ): string {
174185 return $ this ->decrypt ($ data , true , $ password , '' );
175186 }
176187
@@ -190,8 +201,12 @@ public function decryptByPassword(string $data, string $password): string
190201 *
191202 * @see encryptByKey()
192203 */
193- public function decryptByKey (string $ data , string $ inputKey , string $ info = '' ): string
194- {
204+ public function decryptByKey (
205+ string $ data ,
206+ #[SensitiveParameter]
207+ string $ inputKey ,
208+ string $ info = ''
209+ ): string {
195210 return $ this ->decrypt ($ data , false , $ inputKey , $ info );
196211 }
197212
@@ -211,8 +226,13 @@ public function decryptByKey(string $data, string $inputKey, string $info = ''):
211226 *
212227 * @see decrypt()
213228 */
214- private function encrypt (string $ data , bool $ passwordBased , string $ secret , string $ info = '' ): string
215- {
229+ private function encrypt (
230+ string $ data ,
231+ bool $ passwordBased ,
232+ #[SensitiveParameter]
233+ string $ secret ,
234+ string $ info = ''
235+ ): string {
216236 [$ blockSize , $ keySize ] = self ::ALLOWED_CIPHERS [$ this ->cipher ];
217237
218238 $ keySalt = random_bytes ($ keySize );
@@ -257,8 +277,13 @@ private function encrypt(string $data, bool $passwordBased, string $secret, stri
257277 *
258278 * @see encrypt()
259279 */
260- private function decrypt (string $ data , bool $ passwordBased , string $ secret , string $ info ): string
261- {
280+ private function decrypt (
281+ string $ data ,
282+ bool $ passwordBased ,
283+ #[SensitiveParameter]
284+ string $ secret ,
285+ string $ info
286+ ): string {
262287 [$ blockSize , $ keySize ] = self ::ALLOWED_CIPHERS [$ this ->cipher ];
263288
264289 $ keySalt = StringHelper::byteSubstring ($ data , 0 , $ keySize );
0 commit comments