Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127717 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id C8A051A00BC for ; Thu, 19 Jun 2025 11:50:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1750333684; bh=XIoFI3oRxV/jhYQecITdu18A1G8U10kjgUYx6DZXWsI=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=gNkAyaIKt7tMfImaQthFz5Mf6N1AZPEBOy7nVr7jUhIGuuXTgB0QabeI2sTSBTxx/ XyslpaR0dZugQtbhQxNVvlVQ9hjdbYhrTFdFxRJnYdGzCpck0BhYxkQDWMxeX5WPKu qofxu2NE6tQNZB1d0e7Q/M/0HFqKq1C61GxzKQq68W8tEeF2v33KzN3DhVLx8soErj iSJ7sSfh1JIlhg/UvOH1h/tqsspVExuHgK/kmWXFs+rpZoKXzHLuTwnAoC0YO+klcD yi7jM4Q+5y57/MoaD1N2d+jTee1J923X3p9qL63BuW5fh6pEhk/WLlpTYUIM3PW51S eBn5IZXSZtBDg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 0DE1D1801C7 for ; Thu, 19 Jun 2025 11:48:04 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_40,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, HTML_FONT_FACE_BAD,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 19 Jun 2025 11:48:03 +0000 (UTC) Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-32934448e8bso5513691fa.3 for ; Thu, 19 Jun 2025 04:50:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750333800; x=1750938600; darn=lists.php.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=XIoFI3oRxV/jhYQecITdu18A1G8U10kjgUYx6DZXWsI=; b=QqqE3xWkYzouWB7uf/gfie4qU1bxNmjMvYtWkIn7fPmNUJuEGJExEFnYgvuSme2v6C jHZzgYL90J5KoINqPXdsSeyPcOKh2aCzBiAr0fe5Wxpc3Tv8p2GXCN9gP7Ufstj/AM+p 9vwho8qv3iJ2Ddd/9ArgeYOfN1Bc7kCeVJBneWeTHsqdEieXOX1Nm17XnZygQStjKmg/ w5SQ+VTqo9mxy4N2U0r0/R0P1RvJDj0Yhrz8xqSkVNS/gt+omanqANOHStXISwO5zOQn yY7cw/b3LZdWxn1S1NbVwt6S0uaR+8dXea4s+y4e9wJL/ZF3Ztd+uF5SPNHh6FGtoHO9 aNYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750333800; x=1750938600; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=XIoFI3oRxV/jhYQecITdu18A1G8U10kjgUYx6DZXWsI=; b=T5D4126YfXGueby2x4UOkPjpGp87jUOsxvoXZJqgg65DDJHJBxcmB3TKLE2Wx0cvAI MOzdZJAAE1kpO9XYceLB9b2YaaYxndPHtqdA3SlB6OwUXCY2b1lgMnL/D4DhMnLtnSgA /xAK327vNEkbuNwdG9mvm5uxrJ9FmGcS+piFpCx2GS05Z97fSMpnQRsgpQY/AnfwqUWe PS3E0jSD/2Nk5if0wEldBoR2eUFMKo0LVNIw9A27YNqHqDdkJ5vVnlY6BrhbaouPEe4i UDQ5x4lIS0bDCMu6gpMzKrPOd1tY8NAVUsLruVviLJ5aLEZNH6KtsvnQSjr8d5GhlAld 1hvw== X-Gm-Message-State: AOJu0Yx++tfkWhF2uf0eA3VVIIKI7Rpj2OFb6Hy1EJxzRUIPOhzxeBji g6A3wXKBRVOniw5S4TjS9OF7MzJQ3jjwGE3GBW6BAOnfXYYriJ/zKkJY+Bu85mznlEuYvBc7ogB YlZk7Vb18OxsjDGP3GMxirykCj4fmu8w= X-Gm-Gg: ASbGncsWSXGinXlwNatCySWiZoxEKkC+z7ndmc7S8s08AZ6Z6IGu5HFCpfthENpZ167 wEEHMJJR8s2DWp+wWAgTI4EbswTkS9DSO8OlDzfj5Bvhye67lLe1Bur+KhxW+vFfkoSmJLGYonP bj47UihyPUYnvw/UjnjnwDEyQDDocOB5vdq+59XO4OGju3Q55SZR/xatI= X-Google-Smtp-Source: AGHT+IGwbdMtxQ9UG0Gv5fwbMzzk1kVDhWg9V5vqymFLOK/yqPviPJfnR+idDd8PvtzQ+PQnZAD4j3oFhhk/A7ZqtCo= X-Received: by 2002:a05:651c:b20:b0:32a:847c:a1c0 with SMTP id 38308e7fff4ca-32b4a0c5893mr66213341fa.6.1750333799128; Thu, 19 Jun 2025 04:49:59 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Thu, 19 Jun 2025 13:49:47 +0200 X-Gm-Features: Ac12FXyTf_ZbYqm4pK4zrrdN6BE8oSu0jG0Whz6TtF1N1C0URkQI_nX_hSyMRng Message-ID: Subject: Re: [PHP-DEV] [RFC][DISCUSSION] Add RFC 4648 compliant data encoding API To: ignace nyamagana butera Cc: PHP Internals List Content-Type: multipart/alternative; boundary="00000000000055e3510637eb586c" From: nicolas.grekas+php@gmail.com (Nicolas Grekas) --00000000000055e3510637eb586c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Ignace I'd like to start the discussion for a new RFC about adding RFC 4648 > compliant data encoding API > > RFC proposal link: https://wiki.php.net/rfc/data_encoding_api > If passed, Tim D=C3=BCsterhus has volunteered to do the implementation. > > Thanks in advance for your remarks and comments. > > Best regards, > Ignace Nyamagana Butera > Thanks for the RFC! Here my doleance about it: - please make base58 part of the RFC - it's already widely used and having it implemented in C would be great. See https://github.com/php/php-src/issues/15195 - it'd be great to default to url-safe base64. The RFC-compliant variant is a very common risk, it'd be great to be on the safe side by default - why do we need to decide between constant-time and unprotected? Can't we always go for the constant-time behavior? If not, what about defaulting to constant-time, again, safe by default? - about DecodingMode, shouldn't this be Lenient by default, following the robustness principle? - (base85 looks great and would be nice to have also :) ) Cheers, Nicolas --00000000000055e3510637eb586c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Ignace

I'd like to start the discussion for a n= ew RFC about adding=C2=A0RFC 4648 compliant data encoding API

RFC proposal link:= =C2=A0https://wiki.php.net/rfc/data_encoding_api

If passed,=C2=A0Tim D=C3=BCsterhus has volunteered to do the im= plementation.

Thanks in advance for your remarks=C2=A0an= d comments.

Best regards,
Ignace Nyamagana Bute= ra

Thanks for the RFC!

Here my doleance about it:

- please make base58 part of the RFC - it's already widely used and ha= ving it implemented in C would be great. See=C2=A0https://github.com/php/php-src/issues/15195<= /a>
<= div>- about DecodingMode, shouldn't this be Lenient by default, followi= ng the robustness principle?

--00000000000055e3510637eb586c--