(02:23:46) jackepc@*****.org: cualquier cifrado es bueno (02:23:50) jackepc@*****.org: mezclado (02:23:56) jackepc@*****.org: primero uno luego otro luego otro (02:24:10) jackepc@*****.org: un rot13 (02:24:29) jackepc@*****.org: y finalmente eso tiene ya que ser chungo de descifrar por cualquiera (02:24:44) jackepc@*****.org: si le aplicas 12 cifrados a algo
A partir de la versión 5 de PHP mayor o igual a 5.1.2 existe la función hash, que permite cifrar con diferentes algoritmos sin tener que pasar por funciones únicas para cada cifrado...
La función hash_algos() devuelve un array con todos los cifrados disponibles según la versión.
<?php print_r(hash_algos()); >
Dando como salida:
$ php hash.php Array ( [0] => md2 [1] => md4 [2] => md5 [3] => sha1 [4] => sha224 [5] => sha256 [6] => sha384 [7] => sha512 [8] => ripemd128 [9] => ripemd160 [10] => ripemd256 [11] => ripemd320 [12] => whirlpool [13] => tiger128,3 [14] => tiger160,3 [15] => tiger192,3 [16] => tiger128,4 [17] => tiger160,4 [18] => tiger192,4 [19] => snefru [20] => snefru256 [21] => gost [22] => adler32 [23] => crc32 [24] => crc32b [25] => salsa10 [26] => salsa20 [27] => haval128,3 [28] => haval160,3 [29] => haval192,3 [30] => haval224,3 [31] => haval256,3 [32] => haval128,4 [33] => haval160,4 [34] => haval192,4 [35] => haval224,4 [36] => haval256,4 [37] => haval128,5 [38] => haval160,5 [39] => haval192,5 [40] => haval224,5 [41] => haval256,5 )
Aprovechando esto se podría hacer un script que cifrase una cadena con 42 algoritmos.
function Cifrarsobrecifrado($cadena) { $algoritmos = hash_algos(); foreach($algoritmos as $unoauno) { $cadena = hash($unoauno,$cadena); echo $cadena . "\n"; } return $cadena; } $probando = Cifrarsobrecifrado('contrasenasecreta'); echo $probando;
Lo que da una salida de:
$ time php hash.php 8e0ec964504817deb87afbf4d542b921 7c4d2d60feb6f152fe4148530b5aa8a7 801668e2df10c4f3b8cf1d5a7c74d5e7 04552b6704512181bc44eab7505799caf5cc1004 fcb8f1c23d9a3832e84661792af56a46658056636b306766f405c6f6 e3ec0be901f70c1e1f9ea9ea7857190cbf18b36c66b05dbf8db23ff2aaa34237 5a2780415e3d66ede2032a912e873735f5ff99e3f4b45988fd29a3e8e65123f6ee63f5e0b74155401b100d42a206a2be 26f68e9a3f23460c4ec1c67184d137585a0cc17def2d6cdf5cebd1f7db7fa5d6348988332044406901333b2369d2d6765007fba0d6249d9183a2dda38a5baf0e 59fddea5abe907057e19cd42858e7c49 5dd929a6bd7bd13fa8f6c2f39b6ee8aca4388270 62ba3ca82240c584920a24b0b2274ab9a79d45dd40a5ab9596e5e8960bfc92ff cc528927b90ea4df810f797cce394a8b2ffb73594ccf727698059142e23d5834c0fa3e457c43c867 985840f12fc03a250f4393bf9e985010e155650cc472b8daaf1a3ce457cfa7822ff0d22f91a01c8c82ef80c4ad23f50f5331b99fa80a724e2de43b8d1beac738 fc5c829703f13e5626b5253897957a95 d831f81379f02d9db2e74038fc8bba8dcda0ae71 83c1b1599271ddedc453d3c59854212807131482a33313f9 11c04b0675ce420b1ceccac10edd42ac b45f53747ebc0bef506415bf8ecd6bd387ee6481 dd91e00da7b7eca013cddf687d0a0a0860cc1026374107db 8a2749017fe9536c9810f355410eeed6b264276705da96363e54829cead4518c ab6962656cece9568f2b3b39b6c749c6a60280fcb78f582a63d3057aeb30cc77 d04eceb0d5bef915edf3889ed870afe69f444475150c356a8d7fdf3d8d405edd 63501291 a5002b33 7ca961d0 9b06433a9a6670c5ffcc05a35b65c321c4bfe818e447631d873cd02201a25942a7fda24138cb9c9461bda6acb8c63e2cf59f97c0e2a90a4777836a76ff6b0e62 364a8fcfe521d311dcee3d52856a317caa979c3b7f610ae2d268fe0d64b89518ee92078e98f8b54ad6fe88a727d3b96eee1cd882d4a9176e655ca268371472b5 c5f78c84eab25b7478ccf88ab2cee435 a8f97b78f41671fe2421aac1e3afb976988aa4b6 1ac08a43ca76188e15cbff297fd7bdf8a81a3d0be8ebceef fcf510c9681fc40d09f365f8b2ca8f2bb4e84c13f4b7dce7eb3ffb2e ac1aa5c224a3ecf7c5f3e4309e495584550d7096d39ab56bfc8eef8110d84e53 69e9b462043de728187548e00dbba6b9 677560b09b3eb1f57b923b33b21e3efa1ad233eb 04a875dfceaaa74a7b3bebdbb5d9955a10e2e9cd10cb23ce 4ae4c7c9586f4945fb1abb01e67f6f90f18cda4c3bffa55f22be3cc5 d67cec989d7c4ea6bb51bc133f90b8073925ffb3e077c13be357609e2d83d27f 7e2fde43b6aa9e23257364519df6dc00 3281f44da1ce5c91f7197954aa4be95c7566a29d 9ce4de6db48260d500da19813e39c8e34ed6105754d68dff 1a56671a0876314b02a37ede0d895649208481e56923f0e4c7df3d68 bece05d589767418fef23db81029a287b03cea592d57462bc5c35fb7ea87f906 bece05d589767418fef23db81029a287b03cea592d57462bc5c35fb7ea87f906 real 0m0.055s user 0m0.044s sys 0m0.004s
Conclusión: Si te resfrias tampoco hace falta que vayas al médico, puedes beber limonada y zumos de naranja de la época. No se requiere pasar por tantos cifrados para generar claves seguras pero pasar por un par de ellos y combinar algortimos aleatorios puede estar bien.
Una función bastante útil.
ResponderEliminar