Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:122630 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 qa.php.net (Postfix) with ESMTPS id 56FBD1AD8F6 for ; Wed, 13 Mar 2024 16:06:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1710345983; bh=x5e8JHO5RoOw53XmbeFIjxnNKiYZ/TldhBzfu1nQTro=; h=Date:From:Subject:To:From; b=KUJcpthuuwLA59lgdk8Hsn8MXfuHW9piHIoWXAf4q7coeNdPo7e/UNt6FQchjaNbT vIwrXT0cCf5/psSyaRXIu5P5GNq+KupDwTDnfmJDL4nffm3D7IwQU2sKO7Ym/Ex9Pw 09V2mnsePiGmpXUB2lHIdmFXpWkoHA5JDSYXbYQW1ai501aHXq5wHYdeRddE3uZLwB po1ucccUNvzuWiI8xk18Z3hYBXKLJcVVYn0xFHWStby+gFDg2OJSbyUvLMhD3Uy2CP wM1xh5pBifAdwo8/98mvrU3dHljAEc1fCXeFRTNJ3Z/Dd9p8M79KjBBDKwwLBLLtns SASzuwT1eugjA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 9DCA518007E for ; Wed, 13 Mar 2024 16:06:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: * X-Spam-Status: No, score=1.8 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DMARC_MISSING,FORGED_SPF_HELO,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from smtp.smtpout.orange.fr (smtp-26.smtpout.orange.fr [80.12.242.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 13 Mar 2024 16:06:20 +0000 (UTC) Received: from [192.168.1.130] ([80.15.65.107]) by smtp.orange.fr with ESMTPA id kR7Brra7ZseAskR7BrBqCt; Wed, 13 Mar 2024 17:06:02 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wanadoo.fr; s=t20230301; t=1710345962; bh=6FlyeaNUh3hesCqrhbNiS9wv4Dp1tWz0Tj5MrHb2Wno=; h=Message-ID:Date:MIME-Version:From:Subject:To; b=IHKT6f0fTv7p0U6BClYLFElwuoBJL8zK0Ov8FnCDGlF8QFRFy/rYdolIGgjXCkYhv XNSs2dZWCjmYnEqJ8/XRYayHBEuHGt/PuZQ7meyMCW4Vp5yUkmmnWhFrNFlK8lhJ1n KBVtQGXsxL/KY+VCdi9MK2PGsKhtaWtcym9TFjjZpQnibhK4pgAFLtxdh6iYbPptrP KmmfA/Jh3oA59VjaiD+Y295b6rWdp5v2ZhV+hSaeRzUUBqBxvTkJ2Yuow2+4dUtAbo TgzR5X5vumKQGPypfpVCfMdDVGUPmojMsUZyh6Y2IuEO8ptCOc8hHZ/K/pMKXmitJs k6Q31GuBkLnFw== X-ME-Helo: [192.168.1.130] X-ME-Auth: Y29sbGV0X3JlbWlAb3JhbmdlLmZy X-ME-Date: Wed, 13 Mar 2024 17:06:02 +0100 X-ME-IP: 80.15.65.107 Message-ID: <9114cbe3-2b9c-4037-856b-20afc8f96f95@FamilleCollet.com> Date: Wed, 13 Mar 2024 17:06:01 +0100 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PHP-DEV] base64_encode without padding To: php internals Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit From: Fedora@FamilleCollet.com (Remi Collet) I think padding should be optional (on by default to keep BC) Of course in user land, simple to write $enc = trim(base64_encode('foo'), '='); This proposal allow to simply use $enc = base64_encode('foo', PHP_BASE64_NO_PADDING); And also expose it for extension as PHPAPI extern zend_string *php_base64_encode_ex (const unsigned char *, size_t, zend_long flags); Use case: for ARGON2 password hashing see https://github.com/php/php-src/pull/13635 It may seems ugly to add and remove th padding char Is a RFC needed for such a minor feature ? Remi