Бесчисленные алгоритмы шифрования данных существуют в области компьютерных наук.Один из менее известных и менее распространенных кодировок это ROT13, производная Цезарь cypher 1 техники шифрования .
В этом уроке мы узнаем, о шифровании ROT13 и как она работает.Мы увидим, как текст (или строки) может быть программно кодируется в ROT13 с помощью PHP.Наконец, мы закодировать плагин WordPress, который сканирует почту для блокированных слова и заменяет любые шифрования ROT13 .
Если у вас есть блог, на котором несколько авторов или определенная группа людей иметь привилегию публикации сообщения, то плагин, который шифрует или полностью удаляет неуместные слова может прийти в handy
Прежде чем мы начнем let’ с Ясно что-то о ROT13.Следует never будет использоваться для шифрования конфиденциальных данных.Хотя считается, технику шифрования, это “ Привет World” пример шифрования.Это может быть разбит очень легко и, таким образом, никогда не используется на данных, которые шифруются в целях безопасности.Так наша цель isn’ т, чтобы защитить данные, чтобы скрыть ненормативную лексику, он будет делать только штрафом для нашего примера .
Introduction
ROT13 (сокращенно “повернуть на 13 мест,” иногда сокращенно РОТ-13) простая техника шифрования для английского, который заменяет каждую букву с одной 13 мест вперед или назад по алфавита.Таким образом, становится N, B становится O, и так далее до М, которое становится Z. Затем последовательность переходит к началу алфавита: N становится А, О становится Б и так далее до Z, которая становится М.
Главное преимущество ROT13 над другими rot(N)
методы (где “N” является целым числом, которое обозначает количество мест вниз алфавита в шифровальщика шифрования Цезаря) является то, что «само-обратная,” это означает, что то же самоеАлгоритм применяется для шифрования и дешифрования данных .
Ниже приведена таблица ROT13 для удобства .
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
--------------------------------------------------------------------------------------------------------
| N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M |
Если мы зашифрованы домен smashingmagazine.com
в ROT13, результат будет fznfuvatzntnmvar.pbz
, и предложение “? Почему куриное пересечь дорогу” станет “Июль qvq гур puvpxra pebff гур ebnq?”
Обратите внимание, что только буквы в алфавите страдают от ROT13.Числа, символы, пробелы и все остальные символы остаются неизменными .
Преобразование строк для ROT13 В PHP
PHP включает в себя функцию, str_rot13()
, для преобразования строки в его ROT13-закодированного значения.Для кодирования текста в ROT13 использовать эту функцию, необходимо передать текст в качестве аргумента в функцию .
<?php
echo str_rot13('smashingmagazine.com'); // fznfuvatzntnmvar.pbz
echo str_rot13('The best web design and development blog'); // Gur orfg jro qrfvta naq qrirybczrag oybt
Использование ROT13 В WordPress
Вооружившись этими знаниями, я думал о смысле это может быть удобно в WordPress.Я закончил тем, что создал плагин, который кодирует черный список слов, найденных в должности с помощью ROT13 .
Плагин состоит из textearea
области (находится на странице настроек плагина), в котором вы задаете в черный список слова, которые затем сохраняются в базе данных для последующего использования вWordPress сообщений .
Без дальнейших суетой, давайте начнем кодирования плагин .
Настройка Plugin
Во-первых, включить файл header 2 .
<?php
/*
Plugin Name: Rot13 Words Blacklist
Plugin URI: http://smashingmagazine.com/
Description: A simple plugin that detects and encrypts blacklisted words in ROT13
Version: 1.0
Author: Agbonghama Collins
Author URI: http://w3guy.com
Text Domain: rot13
Domain Path: /lang/
License: GPL2
*/
Как уже упоминалось, плагин будет иметь страницу настроек с textarea
поле, которое собирает и сохраняет в черный список слова в базу данных WordPress “(в частности, options
таблица) .
Ниже скриншот, какие настройки плагина (или администратора) страница будет выглядеть .
Теперь, когда мы знаем, что страница параметров будет выглядеть, давайте построить его с помощью __35 WordPress “| Настройки API 5
Строительство Page
Во-первых, мы создаем пункт подменю в главном меню “Настройки” с помощью add_options_page()
, с его материнской функции подключены к admin_menu
действие .
add_action( 'admin_menu', 'rot13_plugin_menu' );
/**
* Add submenu to main Settings menu
*/
function rot13_plugin_menu() {
add_options_page(
__( 'Rot13 Blacklisted Words', 'rot13' ),
__( 'Rot13 Blacklisted Words', 'rot13' ),
'manage_options',
'rot13-words-blacklist',
'rot13_plugin_settings_page'
);
}
Пятый параметр add_options_page()
это имя функции (rot13_plugin_settings_page
), которая призвана выводить содержимое страницы .
Ниже код rot13_plugin_settings_page()
.
/**
* Output the contents of the settings page.
*/
function rot13_plugin_settings_page() {
echo '<div class="wrap">';
echo '<h2>', __( 'Rot13 Blacklisted Words', 'rot13' ), '</h2>';
echo '<form action="options.php" method="post">';
do_settings_sections( 'rot13-words-blacklist' );
settings_fields( 'rot13_settings_group' );
submit_button();
}
Далее мы добавляем новый раздел на страницу “Настройки” с add_settings_section()
.textarea
поле мы уже упоминали ранее, будут добавлены в этот раздел add_settings_field()
.Наконец, параметры будут зарегистрированы с register_setting()
.
Ниже код add_settings_section()
, add_settings_field()
и register_setting()
.
// Add the section
add_settings_section(
'rot13_setting_section',
'',
'rot13_setting_section_callback_function',
'rot13-words-blacklist'
);
// Add the textarea field to the section.
add_settings_field(
'blacklisted_words',
__( 'Blacklisted words', 'rot13' ),
'rot13_setting_callback_function',
'rot13-words-blacklist',
'rot13_setting_section'
);
// Register our setting so that $_POST handling is done for us
register_setting( 'rot13_settings_group', 'rot13_plugin_option', 'sanitize_text_field' );
Три функции выше, должны быть заключены в функции и подключили к admin_init
действия, например, так:
/**
* Hook the Settings API to 'admin_init' action
*/
function rot13_settings_api_init() {
// Add the section
add_settings_section(
'rot13_setting_section',
'',
'rot13_setting_section_callback_function',
'rot13-words-blacklist'
);
// Add the textarea field ...
Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров