|
28 | 28 | - [Using Dependency Injection](#using-dependency-injection-2) |
29 | 29 | - [Advanced](#advanced) |
30 | 30 | - [Encryption](#encryption) |
| 31 | + - [Benchmakrs](#benchmakrs) |
| 32 | + - [Encryption](#encryption-1) |
| 33 | + - [Decryption](#decryption) |
31 | 34 | - [SHA256](#sha256) |
32 | 35 | - [Using Hashing Facade](#using-hashing-facade) |
33 | 36 | - [Using Dependency Injection](#using-dependency-injection-3) |
@@ -427,29 +430,126 @@ LaravelCrypto library provides **2 additional encryption algorithms**. It uses d |
427 | 430 | **If you have application which uses laravel default encryption and you have stored encrypted data in database, you will need to reencrypt the data with new algorithm!** |
428 | 431 |
|
429 | 432 | ```php |
430 | | - |
431 | | -use BrosSquad\LaravelCrypto\Encryption\SodiumEncryptor; |
432 | 433 | // app.cofig |
433 | 434 | return [ |
434 | 435 | // ... |
435 | 436 |
|
436 | 437 | // XChaCha20Poly1305 Algorithm |
437 | | - 'cipher' => 'XChaCha20Poly1305', |
438 | | - |
| 438 | + 'cipher' => 'XChaCha20Poly1305', |
| 439 | + |
439 | 440 | // AES 256 GCM |
440 | 441 | //!! Make sure you have hardware acceleration for |
441 | 442 | // AES-256-GCM, it wont work if your sever does not support it !! |
442 | 443 | 'cipher' => 'AES-256-GCM', |
443 | | - |
444 | | - // OR - By using constants |
445 | | - 'cipher' => SodiumEncryptor::AES256GCM, |
446 | | - 'cipher' => SodiumEncryptor::XChaCha20Poly1305, |
447 | 444 |
|
448 | 445 | // .. |
449 | 446 | ] |
450 | 447 |
|
451 | 448 | ``` |
452 | 449 |
|
| 450 | +#### Benchmakrs |
| 451 | + |
| 452 | + |
| 453 | +##### Encryption |
| 454 | + |
| 455 | +<table> |
| 456 | +<thead> |
| 457 | + <tr> |
| 458 | + <th>Subject</th> |
| 459 | + <th>Description</th> |
| 460 | + <th>Revs</th> |
| 461 | + <th>Iterations</th> |
| 462 | + <th>Memory Peak</th> |
| 463 | + <th>Best Time</th> |
| 464 | + <th>Average Time</th> |
| 465 | + <th>Worst Time</th> |
| 466 | + </tr> |
| 467 | +</thead> |
| 468 | +<tbody> |
| 469 | + <tr> |
| 470 | + <td>benchLaravelEncryption</td> |
| 471 | + <td>Default Laravel Encrypter (AES-256-CBC)</td> |
| 472 | + <td>100</td> |
| 473 | + <td>10</td> |
| 474 | + <td>2,259,976b</td> |
| 475 | + <td>952.012μs</td> |
| 476 | + <td>957.365μs</td> |
| 477 | + <td>974.771μs</td> |
| 478 | + </tr> |
| 479 | + <tr> |
| 480 | + <td>benchXChaCha20Poly1305</td> |
| 481 | + <td>XChaCha20Poly1305 Encryption</td> |
| 482 | + <td>100</td> |
| 483 | + <td>10</td> |
| 484 | + <td>2,458,008b</td> |
| 485 | + <td>265.780μs</td> |
| 486 | + <td>267.313μs</td> |
| 487 | + <td>270.197μs</td> |
| 488 | + </tr> |
| 489 | + <tr> |
| 490 | + <td>benchAes256gcm</td> |
| 491 | + <td>AES 256 GCM Encryption</td> |
| 492 | + <td>100</td> |
| 493 | + <td>10</td> |
| 494 | + <td>2,457,984b</td> |
| 495 | + <td>252.650μs</td> |
| 496 | + <td>254.105μs</td> |
| 497 | + <td>256.572μs</td> |
| 498 | + </tr> |
| 499 | +</tbody> |
| 500 | +</table> |
| 501 | + |
| 502 | + |
| 503 | + |
| 504 | +##### Decryption |
| 505 | + |
| 506 | +<table> |
| 507 | +<thead> |
| 508 | + <tr> |
| 509 | + <th>Subject</th> |
| 510 | + <th>Description</th> |
| 511 | + <th>Revs</th> |
| 512 | + <th>Iterations</th> |
| 513 | + <th>Memory Peak</th> |
| 514 | + <th>Best Time</th> |
| 515 | + <th>Average Time</th> |
| 516 | + <th>Worst Time</th> |
| 517 | + </tr> |
| 518 | +</thead> |
| 519 | +<tbody> |
| 520 | + <tr> |
| 521 | + <td>benchLaravelDecryption</td> |
| 522 | + <td>Default Laravel Decrypter (AES-256-CBC)</td> |
| 523 | + <td>100</td> |
| 524 | + <td>10</td> |
| 525 | + <td>2,508,208b</td> |
| 526 | + <td>1,661.467μs</td> |
| 527 | + <td>1,666.177μs</td> |
| 528 | + <td>1,677.097μs</td> |
| 529 | + </tr> |
| 530 | + <tr> |
| 531 | + <td>benchXChaCha20Poly1305Decryption</td> |
| 532 | + <td>XChaCha20Poly1305 Decryption</td> |
| 533 | + <td>100</td> |
| 534 | + <td>10</td> |
| 535 | + <td>2,529,600b</td> |
| 536 | + <td>455.560μs</td> |
| 537 | + <td>458.140μs</td> |
| 538 | + <td>465.492μs</td> |
| 539 | + </tr> |
| 540 | + <tr> |
| 541 | + <td>benchAes256gcmDecryption</td> |
| 542 | + <td>AES 256 GCM Decryption</td> |
| 543 | + <td>100</td> |
| 544 | + <td>10</td> |
| 545 | + <td>2,529,576b</td> |
| 546 | + <td>447.280μs</td> |
| 547 | + <td>449.552μs</td> |
| 548 | + <td>453.438μs</td> |
| 549 | + </tr> |
| 550 | +</tbody> |
| 551 | +</table> |
| 552 | + |
453 | 553 | ### SHA256 |
454 | 554 |
|
455 | 555 | #### Using Hashing Facade |
|
0 commit comments