C симметричный поточный шифр

Вы можете использовать это, используя , если условие условие для динамического запроса

$results = DB::table('product_details')

if($request->title) {
   $results->where("product_details.title", $request->title);
}
if($request->id) {
   $results->where("product_details.id", $request->id);
}
$result->get();
5
задан Brian Knoblauch 22 December 2008 в 19:53
поделиться

6 ответов

РЕДАКТИРОВАНИЕ (2018): используйте NaCl или libsodium или TweetNaCl при поиске меньшего места кода. Они обеспечивают устойчивое шифрование и должны быть намного быстрее, чем RC4.

RC4 является очень простым алгоритмом для реализации.

Стерлинговая реализация Камдена выезда или реализация Adam Back.

6
ответ дан 18 December 2019 в 13:20
поделиться

См. проект ECRYPT eStream. Это серьезные жесткие криптографические алгоритмы, оцененные специалистами по безопасности. Насколько я знаю, что все алгоритмы кандидата потребовались, чтобы включать реализацию в чистый C (не C++).

править: Большая вещь о том веб-сайте - это, входит в большую глубину о различных алгоритмах, включая их известные слабые места, и включает сравнительные тесты производительности также.

4
ответ дан 18 December 2019 в 13:20
поделиться

Для чистого приложения POC можно быстро бросить ROT13 в место. http://en.wikipedia.org/wiki/ROT13

Однако я очень колеблюсь в создании предложения начиная со слишком часто простого кода POC, это предназначено, чтобы быть замененным, позже никогда не...

2
ответ дан 18 December 2019 в 13:20
поделиться

Я получил Шифр, обходящийся без помощи большой проблемы. Это утверждает, что было быстрее, чем DES.

1
ответ дан 18 December 2019 в 13:20
поделиться

Вот чрезвычайно базовое внедрение поточного шифра в C. Это не, каким-либо образом предназначено, чтобы быть безопасным. Это просто иллюстрирует, как выполнить основные требуемые шаги.

В реальном волшебстве нужно выполнить CycleKey функция, которая генерирует новые значения ключа как каждый блок данных, передается через поток шифрования.

Этот пример шифрует тот char за один раз. Необходимо было бы расширить понятие до больших блоков данных для шифрования, чтобы быть в какой-либо степени безопасными. Еще раз я сделал это просто для иллюстрирования основных шагов.

Удача с проектом!

#include <stdio.h>

char staticKey;

void CycleKey(char data)
{
    /* this is where the real magic should occur */
    /* this code does *not* do a good job of it. */

    staticKey += data;

    if (staticKey & 0x80)
    {
        staticKey ^= 0xD8;
    }
    else
    {
        staticKey += 0x8B;
    }
}

void ResetCipher(const char * key)
{
    staticKey = 0;

    while (*key)
    {
        CycleKey(*key);
        key++;
    }
}

void Encrypt(const char * plaintext, char * encrypted)
{
    while (*plaintext)
    {
        *encrypted = *plaintext + staticKey;

        CycleKey(*encrypted);

        encrypted++;
        plaintext++;
    }

    *encrypted = '\0';
}

void Decrypt(char * plaintext, const char * encrypted)
{
    while (*encrypted)
    {
        *plaintext = *encrypted - staticKey;

        CycleKey(*encrypted);

        plaintext++;
        encrypted++;
    }

    *plaintext = '\0';
}

int main(void)
{
    char * key = "123";
    char * message = "Hello, World!";
    char encrypted[20];
    char decrypted[20];

    ResetCipher(key);
    Encrypt(message, encrypted);

    ResetCipher(key);
    Decrypt(decrypted, encrypted);

    printf("output: %s\n", decrypted);

    return 0;
}
1
ответ дан 18 December 2019 в 13:20
поделиться

Вы посмотрели на OpenSSL? Это имеет безопасную реализацию большого количества криптографических алгоритмов и примитивов. Вы не должны использовать его ни с чем связанная сеть. Однако это не действительно хорошо зарегистрировало или легкий учиться. Если Вы заботитесь много о безопасности (например, если Вы храните данные частного пользователя, такие как кредитные карты), необходимо определенно использовать OpenSSL или некоторую другую безопасную реализацию вместо того, чтобы прокрутить собственное.

0
ответ дан 18 December 2019 в 13:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: