Skip to content

Instantly share code, notes, and snippets.

@efureev
efureev / tokens.md
Created January 27, 2019 06:25 — forked from zmts/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Preconditions:

В данной заметке рассматривается работа JWT с симметичным алгоритмом шифрования (HS256/HS384/HS512)

Основы:

Аутентификация(authentication, от греч. αὐθεντικός [authentikos] – реальный, подлинный; от αὐθέντης [authentes] – автор) - это процесс проверки учётных данных пользователя (логин/пароль). Проверка подлинности пользователя путём сравнения введённого им логина/пароля с данными сохранёнными в базе данных.

Авторизация(authorization — разрешение, уполномочивание) - это проверка прав пользователя на доступ к определенным ресурсам.

@efureev
efureev / handleClickOutside.md
Created January 26, 2019 17:12 — forked from zmts/handleClickOutside.md
Handle outside click (Vue.js)

Handle outside click(Vue.js)

Скритие DOM елемента при клике не по нему.

data () {
  return {
    isOpen: false
  }
},
@efureev
efureev / encryption.js
Created January 26, 2019 16:40 — forked from zmts/encryption.js
Stronger Encryption and Decryption in Node.js
'use strict';
const crypto = require('crypto');
const ENCRYPTION_KEY = process.env.ENCRYPTION_KEY; // Must be 256 bytes (32 characters)
const IV_LENGTH = 16; // For AES, this is always 16
function encrypt(text) {
let iv = crypto.randomBytes(IV_LENGTH);
let cipher = crypto.createCipheriv('aes-256-cbc', new Buffer(ENCRYPTION_KEY), iv);
@efureev
efureev / fn.php
Created November 18, 2015 11:04
Create data uri’s
<?
function data_uri($file, $mime) {
$contents=file_get_contents($file);
$base64=base64_encode($contents);
return "data:$mime;base64,$base64";
}
@efureev
efureev / example.php
Created November 18, 2015 11:01
Calculate distance between two points
<?
$point1 = array('lat' => 40.770623, 'long' => -73.964367);
$point2 = array('lat' => 40.758224, 'long' => -73.917404);
$distance = getDistanceBetweenPointsNew($point1['lat'], $point1['long'], $point2['lat'], $point2['long']);
foreach ($distance as $unit => $value) {
echo $unit.': '.number_format($value,4).'<br />';
}