From 926b9ceff10d9b7a957811f0a4de3167332196de Mon Sep 17 00:00:00 2001 From: Patrick Hoefler <61934744+phofl@users.noreply.github.com> Date: Thu, 11 Aug 2022 02:55:23 +0200 Subject: [PATCH] BUG: use uuid4 instead of md5 for fake column in cross merge (#48029) * BUG: use usedforsecurity for md5 in cross merge * BUG: use usedforsecurity for md5 in cross merge * Use uuid --- doc/source/whatsnew/v1.5.0.rst | 1 + pandas/core/reshape/merge.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/source/whatsnew/v1.5.0.rst b/doc/source/whatsnew/v1.5.0.rst index a0d33cb513722..d794692de5005 100644 --- a/doc/source/whatsnew/v1.5.0.rst +++ b/doc/source/whatsnew/v1.5.0.rst @@ -1095,6 +1095,7 @@ Reshaping - Bug in :func:`concat` not sorting the column names when ``None`` is included (:issue:`47331`) - Bug in :func:`concat` with identical key leads to error when indexing :class:`MultiIndex` (:issue:`46519`) - Bug in :func:`pivot_table` raising ``TypeError`` when ``dropna=True`` and aggregation column has extension array dtype (:issue:`47477`) +- Bug in :func:`merge` raising error for ``how="cross"`` when using ``FIPS`` mode in ssl library (:issue:`48024`) - Bug in :meth:`DataFrame.join` with a list when using suffixes to join DataFrames with duplicate column names (:issue:`46396`) - Bug in :meth:`DataFrame.pivot_table` with ``sort=False`` results in sorted index (:issue:`17041`) - Bug in :meth:`concat` when ``axis=1`` and ``sort=False`` where the resulting Index was a :class:`Int64Index` instead of a :class:`RangeIndex` (:issue:`46675`) diff --git a/pandas/core/reshape/merge.py b/pandas/core/reshape/merge.py index 77a0d34132da0..4b8547bd6a232 100644 --- a/pandas/core/reshape/merge.py +++ b/pandas/core/reshape/merge.py @@ -6,13 +6,13 @@ import copy import datetime from functools import partial -import hashlib import string from typing import ( TYPE_CHECKING, Hashable, cast, ) +import uuid import warnings import numpy as np @@ -1311,7 +1311,7 @@ def _create_cross_configuration( DataFrames with cross_col, the merge operation set to inner and the column to join over. """ - cross_col = f"_cross_{hashlib.md5().hexdigest()}" + cross_col = f"_cross_{uuid.uuid4()}" how = "inner" return ( left.assign(**{cross_col: 1}),