Конвертировать массив в зашифрованный токен с помощью php

0

Я пытаюсь сделать Rest Service с PHP. Мне нужно зашифровать массив деталей пользователя в зашифрованный токен и его необходимо расшифровать. Существуют ли какие-либо простые рамки для службы PHP-rest с угловыми js.

  • 0
    JWT (веб-токены JSON)
  • 0
    дайте нам некоторый контекст для вашего требования. что ты делаешь с токеном? Где данные зашифрованы? расшифрованы?
Показать ещё 3 комментария
Теги:

2 ответа

2
Лучший ответ
Предположим на мгновение, что у вас есть такой массив данных:
<?php
    $userDataArray  = [
        'username'      => "user101",
        'password'      => "letMeIn101",
        'email'         => "[email protected]",
        'emailPass'     => "letMeIn101Again",
        'accountNr'     => "CB-1087-4789-US-CA-1",
        'accountKey'    => '${6@/A-p*h154a',
        'swiftKey'      => '@%o98-eZ6_ii',
    ];
И вы хотели бы "2-way-encrypt" его в PHP, чтобы использовать его в другом приложении; Вы можете использовать openssl_encrypt() и openssl_decrypt() следующим образом:
<?php
    // FIRST CONVERT THE $userDataArray INTO JSON STRING
    $userDataJSON   = json_encode($userDataArray);

    // NEXT CREATE A PASSWORD AND METHOD TO USE FOR ENCRYPTION...
    $pass           = 'suDoLetMeIn';
    $method         = 'aes-128-cbc';
    $initVector     = "0123456789012345";    // MUST BE 16 BYTES LONG...

    // NOW ENCRYPT THE DATA...
    $encrypted      = openssl_encrypt($userDataJSON, $method, $pass, false, $initVector);

    // TRY DUMPING THE ENCRYPTED DATA TO SEE WHAT YOU GET
    var_dump($encrypted);

    // ATTEMPT TO DECRYPT THE DATA
    $decrypted      = openssl_decrypt($encrypted, $method, $pass, false, $initVector);

    // AGAIN TRY DUMPING THE DECRYPTED DATA TO SEE WHAT YOU GET
    // REMEMBER TO DECODE IT SINCE IT WAS JSON-ENCODED IN THE FIRST PLACE...
    var_dump($decrypted);
    var_dump(json_decode($decrypted));
Выбранные var_dumps будут соответственно создавать нечто вроде ::
    string 'CwwYkIb319h+xSRkv+uV7PaAJ52ouwGWn0pA/cVQmVtzzmPMzBsH9iOWelNmiNUSeaT93624KoTAkFyXnlw3jWAzW8ekO8x+sKMnhZuXFiaIHDaEsrhIpydHLMhwtgwDo3g2x1vY+9hGuqAm2P+eh925NmKCFcuDgZgDBuoaEGV8CXqPBVRWV8gNrw70s9JPmiXcntALM9TtqGLpRpVBjCBP/o0ScliHCehH1+9eKQyg5zkzJApE7jov/hbluzpF2pDfZ7QQpcOVuqqcCyRPlQ==' (length=280)

    string '{"username":"user101","password":"letMeIn101","email":"[email protected]","emailPass":"letMeIn101Again","accountNr":"CB-1087-4789-US-CA-1","accountKey":"${6@\/A-p*h154a","swiftKey":"@%o98-eZ6_ii"}' (length=197)

    object(stdClass)[8]
      public 'username' => string 'user101' (length=7)
      public 'password' => string 'letMeIn101' (length=10)
      public 'email' => string '[email protected]' (length=18)
      public 'emailPass' => string 'letMeIn101Again' (length=15)
      public 'accountNr' => string 'CB-1087-4789-US-CA-1' (length=20)
      public 'accountKey' => string '${6@/A-p*h154a' (length=14)
      public 'swiftKey' => string '@%o98-eZ6_ii' (length=12)
  • 0
    Спасибо, это безопасно?
0

Реализация сервера RESTful для CodeIgniter с использованием одной библиотеки, одного файла конфигурации и одного контроллера.

Подробнее об аутентификации читайте здесь.... https://github.com/chriskacerguis/codeigniter-restserver#authentication

Ещё вопросы

Сообщество Overcoder
Наверх
Меню