S
S
SKEPTIC2020-02-08 12:51:05
WordPress
SKEPTIC, 2020-02-08 12:51:05

How do RSA libraries (Python RSA) find hefty prime numbers so quickly?

How do RSA libraries (Python RSA) find hefty prime numbers so quickly?
For example, a 1024 bit key (which is more than 200 decimal places) is found in a second?

Answer the question

In order to leave comments, you need to log in

3 answer(s)
A
Anatoly, 2019-05-27
@Tolly

I did through cookies for 1 hour, so as not to count several times.
Next to each article, a field for the number of views is created.
If there are cookies, skip, if not, add 1.
Counting function:

# Подсчет количества посещений страницы
function set_postviews() {

  $count_key    = 'post_views_count';  // Имя поля для записи количества просмотров
  $who_count    = 1;	// 0 - считать всех, 1 - только гостей, 2 - только зарегистрированных пользователей
  $exclude_bots = 1;	// 0 - считать всех, 1 - исключить из подсчета ботов

  global $user_ID, $post, $cookie_test;

  # Проверка, что не было просмотра страницы в течение часа
  if( is_singular() && $cookie_test) {

    $id = (int)$post->ID;
    static $post_views = false;
    if( $post_views ) return true; // чтобы 1 раз за поток

    $post_views = (int)get_post_meta( $id, $count_key, true );

    # Проверка пользователя: гость или зарегистрирован
    $should_count = false;
    switch( (int)$who_count ) {
      case 0: $should_count = true;
        break;
      case 1:
        if( (int)$user_ID == 0 )
          $should_count = true;
        break;
      case 2:
        if( (int)$user_ID > 0 )
          $should_count = true;
        break;
    }

    # Проверка на браузер или не бот, иначе false
    if( (int)$exclude_bots == 1 && $should_count ){
      $useragent = $_SERVER['HTTP_USER_AGENT'];
      $notbot = "Mozilla|Opera"; //Chrome|Safari|Firefox|Netscape - все равны Mozilla
      $bot = "Bot/|robot|Slurp/|yahoo"; //Яндекс иногда как Mozilla представляется
      if ( !preg_match("/$notbot/i", $useragent ) || preg_match( "!$bot!i", $useragent ) )
        $should_count = false;
    }

    # Обновляем счетик, если поля нет, то создаем со значением 1
    if( $should_count )
      if( !update_post_meta( $id, $count_key, ($post_views+1)) ) add_post_meta( $id, $count_key, 1, true );
  }
  return true;
}
add_action('wp_head', 'set_postviews');

Cookies like this:
/*
* Создаем куки, чтобы дважды не считать один и тот же пост в течение 1 часа
*
*			в самое начало single.php пропишем:
*			<?php
*				global $cookie_test;
*				$cookie_test = false;
*
*				# Определяем имя файла (поста)
*				$url = parse_url($_SERVER['REQUEST_URI']);
*				$path = pathinfo($url['path']);
*				$basename = $path['basename'];
*
*				if( $basename && !isset($_COOKIE[$basename]) ) {
*					$cookie_test = true;
*					setcookie( $basename, '1', time()+3600 );
*				}
*			?>
**/

V
Vladimir Druzhaev, 2019-05-27
@OtshelnikFm

Plugin Top 10

M
Mikhail Kobzarev, 2019-05-28
@mihdan

Take the Pageviews plugin from Pressjitsu . Fast, convenient, understandable and does not load the site database.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question