Hàm mã hóa mật khẩu cho twig

Chương: Mã hóa mật khẩu v2

Ai làm code twig trên wap4 chắc đều trăn trở làm sao mà bảo mật khi wap4 ko có hàm mã hóa mật khẩu đúng ko nào :D

Trước tôi có share 1 lần rồi nhưng code còn cùi. Nay Share lại đoạn function mã hóa pass, giải được cũng khá là đau đầu nha.

Tạo file '_functions' dán code này vào
{% macro miPass(text) %}{% spaceless %}
{% set char='w1rt2y0u3imeop4a9sdf5ghjkl6zxqc7vb8n'|split('') %}
{% set pass={} %}
{% for i,x in char %}{% set pass=pass|merge({(char[i]):(i)}) %}{% endfor %}
{% set n,res=n|default(7),'' %}
{% for i in text|split('')|reverse %}{% set n=loop.index+1 %}{{( (pass[i]+n)>=char|length? char[pass[i]+n-char|length] : char[pass[i]+n] ) }}{% endfor %}{% endspaceless %}{% endmacro %}



Dùng như thế nào?

tại file cần dùng:
{% from '_functions' import miPass %}

{{miPass('Nguyen-Van-Duc')|trim}}



Đây là một số chuỗi sau mã hóa:

'Nguyen-Van-Duc' => 'vm2yyh3iihs5na'

'aaaaaaaaaaaaaaaaaaa' => 'sdf5ghjkl6zxqc7vb8n'

'xoxoxoxoxoxoxoxoxo' => '479bdn51htky6uxice'

Giờ thì bảo mật hơn nhiều rồi đó nha!