In Magento 2, You can generate a unique hash token for your custom functionality where you need to pass id or variable as encrypted.
Magento uses this functionality, generate a unique hash token for reset password confirmation link.
If you want to do a generate unique token you need to use Core Magento\Framework\Math\Random class to accomplish your requirement.
I have created a Block to add function and dependency class,
<?php class Demo extends \Magento\Framework\View\Element\Template { public function __construct( \Magento\Framework\View\Element\Template\Context $context, \Magento\Framework\Math\Random $mathRandom, array $data = [] ) { $this->mathRandom = $mathRandom; parent::__construct($context,$data); } // Generate unique token public function generateUniqueToken() { return $this->mathRandom->getUniqueHash(); } }
You can use this function with $this->generateUniqueToken() to anywhere in your class or use in template with $block->generateUniqueToken();
The result will be unique string look like, MmoZyEKE3RtZKxcSS1rau0rkie2ZvttQ