标签: base62

基地62转换

如何将整数转换为基数62(如十六进制,但使用这些数字:'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ').

我一直在努力为它找到一个好的Python库,但它们似乎都在转换字符串.Python base64模块只接受字符串并将一个数字转换为四个字符.我正在寻找类似于URL缩短器使用的东西.

python math base62

77
推荐指数
5
解决办法
5万
查看次数

在python中创建一个salt

我如何在python中创建一个随机的,16个字符的base-62 salt?我需要它用于协议,我不知道从哪里开始.谢谢.

python salt base62

25
推荐指数
4
解决办法
2万
查看次数

将MD5转换为base62以获取URL

我有一个脚本转换为base 62(A-Za-z0-9)但是如何从MD5中获取一个数字?

我在很多地方读过,因为MD5中的数字大于php可以处理的整数,它将是不准确的...因为我想要一个简短的URL,并且不打算使用整个哈希,也许只有8个字符它....

所以我的问题是如何获得MD5哈希的部分数量?

仅使用部分MD5哈希是一个坏主意吗?

php md5 base62

8
推荐指数
1
解决办法
1万
查看次数

PHP - 如何将base_convert()扩展到62

我需要一个base_convert()从base 2到​​base 62 的函数,但是我缺少我需要使用的数学,我知道由于PHP的限制,我需要使用bcmath,这很好.

像这样的函数将数字转换为基数10和从另一个基数转换为62,但我希望实现相同的功能base_convert(),例如:只有一个可以在任意碱基之间转换的函数.

我发现了一个似乎这样做功能,但是它给了我一些冗余和慢速代码的感觉,如果我认识德语,我想稍微调整一下,我不知道.=(

这是一个更易读的函数版本:

function bc_base_convert($value, $quellformat, $zielformat)
{
    $vorrat = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

    if (min($quellformat, $zielformat) < 2)
    {
        trigger_error('Bad Format min: 2', E_USER_ERROR);
    }

    if (max($quellformat, $zielformat) > strlen($vorrat))
    {
        trigger_error('Bad Format max: ' . strlen($vorrat), E_USER_ERROR);
    }

    $dezi = '0';
    $level = 0;
    $result = '';
    $value = trim(strval($value), "\r\n\t +");
    $vorzeichen = '-' === $value{0} ? '-' : '';
    $value = ltrim($value, "-0");
    $len = strlen($value); …
Run Code Online (Sandbox Code Playgroud)

php math base-conversion base62

8
推荐指数
2
解决办法
7361
查看次数

使用 base62(字母数字)UUID 有什么问题吗?

标准 UUID 很长,您无法通过双击选择整个内容。

例如 123e4567-e89b-12d3-a456-426655440000

我喜欢较短的 ID。

我喜欢能够双击一个 ID 来选择它。

我的问题是:将标准 ID 编码为 22(ish) 个字符长的 base62 字母数字字符串是否有任何问题?

例如 71jbvv7LfRKYp19gtRLtkn

编辑:添加上下文
我们的需求是在 NoSQL 数据存储服务(如 DynamoDB)中存储一般数据。碰撞不应该发生,但我的理解是与 UUID 的碰撞风险可以忽略不计。标准 UUID 将满足我们的需求,所以我要问的是......在 base62 中编码是否存在标准 UUID 不存在的任何差异、额外风险或不可预见的问题?

谢谢。

uuid base62

6
推荐指数
2
解决办法
4543
查看次数

将字符串转换为BASE62

我正在寻找将字符串转换为BASE62的c#代码,如下所示:

http://www.molengo.com/base62/title/base62-encoder-decoder

我需要那些用于URL编码的编码和解码方法.

c# type-conversion base62

4
推荐指数
2
解决办法
9667
查看次数

将base64转换为base62(不含特殊字符)

我想在 URL 中传递河豚加密字符串,并希望像 base64 一样对其进行编码,但没有任何特殊字符,像 base62 这样的东西就很好(0-9a-zA-Z)。所以我想做的是使用base64_encode 转换河豚加密字符串,并将base64 转换为base62。

我知道如何使 base64 url​​ 安全的解决方案,但我真的不希望字符串中出现任何特殊字符。Convert_base() 仅适用于基数最大为 36 的情况,数学扩展可以转换为基数最大为 62 的情况。

有人知道如何使用 PHP 将 Base64 字符串转换为 Base62 吗?

php base64 converters base62

4
推荐指数
1
解决办法
6784
查看次数

在 Java 中将 UUID 编码为 Base62(不是 Base64)

我正在尝试缩短 UUID 值(存储在数据库中作为 UUID,而不是字符串)嵌入到 URL 中。我知道 URL 的 Base64,但试图看看我是否可以在没有破折号和下划线字符的情况下制作它。所以我想将 UUID 转换为 base62。经过大量的谷歌搜索,我发现:

  1. 对此没有标准(类似于 RFC2045),对吗?

  2. 最重要的是,它没有适当的实现。我发现了很多关于如何做到这一点的片段,但有一些说明“这是一个天真的实现”或其他东西。是否有适当的实现(我不介意准确解释映射应该如何完成,只要它正确完成)?

  3. Apache Commons Codec 和 Guava 中有一些基类为 Base32 和 Base64 扩展,但我发现为 Base62 扩展它并不容易。甚至有可能做到吗(考虑到映射根本不同的事实)?
    谢谢。

java uuid encoding base62

4
推荐指数
1
解决办法
3935
查看次数

如何在node.js中生成base62 UUID?

我正在寻找一个在node.js中生成base62 UUID的解决方案.我想避免的base64,我打算创建基于这些的UUID和像字符的文件夹=,\,-,_(如在一些实现)不是人类/文件系统友好.

Base62还具有比典型的v4 UUID更短的优势(在我的上下文中).

更新(为了清楚起见):我之前应该说我已经尝试过使用base62模块,但这并不能解决我的问题,因为base62javascript整数中的数字只能精确到52位,而UUID有128位.

javascript uuid base62 node.js

2
推荐指数
1
解决办法
3005
查看次数

请解释一下这个 PHP 的 62 进制转换函数/算法

谁能解释一下下面的代码吗?那或者向我指出一些可以阐明一些观点的资源:)

它将整数转换为 base62 字符串。

private static $_characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

private static function _convertBase($num)
{
    $base = strlen(self::$_characters);
    $string = '';

    for ($t = floor(log10($num) / log10($base)); $t >= 0; $t--) {
        $a = floor($num / pow($base, $t));
        $string .= substr(self::$_characters, $a, 1);
        $num = $num - ($a * pow($base, $t));
    }

    return $string;
}
Run Code Online (Sandbox Code Playgroud)

更新:我想问的是:有人可以解释一下下面的算法吗?:) 谢谢。

php algorithm base62

1
推荐指数
1
解决办法
1804
查看次数

jQuery在不同情况下选择东西时遇到问题

注意:如果你只是一个jQuery开发人员,这篇文章中的一些内容可能看起来有点复杂(Base62编码等) - 实际上并非如此.虽然更多技术细节与问题相关,但核心是jQuery不会选择带有大写字母的东西.谢谢!

嗨伙计!

所以我有一个由Ajax生成的列表.单击列表标题时,将发送其ID,并且列表项将显示在其旁边.标准的东西.

由于我们使用的是auto_increment ID,因此我们不希望用户知道数据库中有多少提交内容.所以,我将它编码到Base62,然后再解码.[请注意,这是 - 或者应该与问题无关].

因此,在生成我的列表时,输出此代码.我们在jQuery旁边使用CodeIgniter PHP - 这是在数据库结果的循环中.$this->basecrypt->encode()是一个简单的CI库,用于将整数(ID)转换为Base62:

$('#title-<?php echo $this->basecrypt->encode($row->codeid); ?>').click(function() {
        alert("clicked");
        [...]
Run Code Online (Sandbox Code Playgroud)

然后,在页面的下方:

<div id="title-<?php echo $this->basecrypt->encode($row->codeid);?>" class="title">
Run Code Online (Sandbox Code Playgroud)

如您所见,这是在同一个循环中生成的 - 并查看输出的源代码显示,例如:

$('#title-1T').click[...] 然后 <div id="title-1T" [...]

所以,jQuery不应该有任何麻烦,对吧?在我们开始使用Base62-ID之前,一切正常.我相信jQuery在包含大写字母时不能/不会选择我们的ID.

现在请原谅我,如果我错了 - 相对来说,我对jQuery很新 - 但为了测试我的观点,我把我$this->basecrypt->encode()改成了Base36.之前,它正在使用0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ After,它正在使用0123456789abcdefghijklmnopqrstuvwxyz

没有大写字母,jQuery可以选择(并出于测试目的显示警报).

那我该怎么办?在Base36中继续使用数字和小写字母是否安全 - 如果是这样,那么最大整数大小是多少?如果没有,我可以做些什么来解决jQuery有问题的选择过程?

谢谢!

插口

编辑:下面是页面中的一些示例代码.

这是文件ajaxlist.php中返回的脚本的一部分 - 它是从Ajax调用的,并在页面加载后几秒钟出现.我在alert("clicked");开头附近添加,看看是否会出现 - 遗憾的是,它不会...... $(文档).ready(function(){

    $('#title-<?php echo $this->basecrypt->encode($row->codeid); ?>').click(function() {
        alert("clicked");
        var form_data = {
            id: <?php echo …
Run Code Online (Sandbox Code Playgroud)

encryption jquery codeigniter jquery-selectors base62

0
推荐指数
1
解决办法
150
查看次数