BUG: use uuid4 instead of md5 for fake column in cross merge
- [x] closes #48024 (Replace xxxx with the Github issue number)
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [x] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [x] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

cc @mroeschke Any idea how to test this? Did not add it for the test, do you think thats necessary?
@szelenka, could you confirm using uuid4 would be a sufficient replacement for this use case (if you can test locally)?

From what I am seeing online, I don't see a really a convenient way of testing this in our CI system @mroeschke yes this seems to work okay:
```
>>> ssl.FIPS_mode_set(0)
>>> ssl.FIPS_mode_set(1)

# Old method
>>> cross_col = f"_cross_{hashlib.md5().hexdigest()}"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: [digital envelope routines] disabled for fips

# New method
>>> cross_col = f"_cross_{uuid.uuid4()}"
>>> cross_col
'_cross_0a42418d-46db-40c9-8cbf-72d672d9863a'
``` Thanks @phofl and @szelenka for confirming.